agronholm / apscheduler

Task scheduling library for Python
MIT License
5.93k stars 690 forks source link

Remove redundant `self._next_triggers` construction and add `AndTrigger` test. #914

Closed bmeares closed 1 month ago

bmeares commented 1 month ago

Changes

Fixes #911.

When combining triggers (IntervalTrigger, CronTrigger, CalendarIntervalTrigger) with the AndTrigger, this patch ensures the expected datetimes are fired. The now-fixed bug was that every other interval was skipped in certain scenarios, such as when using IntervalTrigger with days.

Checklist

If this is a user-facing code change, like a bugfix or a new feature, please ensure that you've fulfilled the following conditions (where applicable):

If this is a trivial change, like a typo fix or a code reformatting, then you can ignore these instructions.

Updating the changelog

If there are no entries after the last release, use **UNRELEASED** as the version. If, say, your patch fixes issue #999, the entry should look like this:

* Fix big bad boo-boo in the async scheduler (#999 <https://github.com/agronholm/apscheduler/issues/999>_; PR by Yourname)

If there's no issue linked, just link to your pull request instead by updating the changelog after you've created the PR.

If possible, use your real name in the changelog entry. If not, use your GitHub username.

agronholm commented 1 month ago

Would you mind removing the rest of the redundant zeroes from the datetime() calls? Then I'm ready to merge this.

bmeares commented 1 month ago

All cleaned up, ready to merge👍🏻

agronholm commented 1 month ago

Thanks!