IssueRaiser

APScheduler 4.0 progress tracking

I'm opening this issue as an easy way to interested parties to track development progress of the next major APScheduler release (v4.0). ## Terminology changes in v4.0 The old term of "Job", as it was, is gone, replaced by the following concepts which are closer to the terminology used by Celery: - Task definition: a uniquely named callable coupled with configuration like maximum number of instances, misfire grace time etc. - Schedule: binds a trigger with a task definition - Job: queued work item for an executor (binds to a task definition, and optionally a schedule) Also, the term "executor" is now being changed to "worker". Notice that the terminology may still change before the final release! ## Planned major changes v4.0 is a ground-up redesign that aims to fix all the long-standing flaws found in APScheduler over the years. Checked boxes are changes that have already been implemented. - [X] Async-first design, with support for asyncio and trio (via [AnyIO](https://github.com/agronholm/anyio)) - [X] Static typing friendly ([PEP 561](https://www.python.org/dev/peps/pep-0561/)) - [X] Support for serializers other than pickle - [X] Broader time zone support, including zoneinfo time zones ([PEP 615](https://www.python.org/dev/peps/pep-0615/)) - [X] Drop support for Python < 3.7 - [X] [Calendar interval trigger](https://github.com/agronholm/apscheduler/blob/master/apscheduler/triggers/calendarinterval.py) - [X] Stateful triggers - [X] `threshold` value for `AndTrigger

Posted by agronholm on Sep 29, 2020, 9:05 PM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.3,000 issues0 comments

support (Software)

APScheduler 4.0 progress tracking

agronholmSep 29, 2020, 9:05 PM

I'm opening this issue as an easy way to interested parties to track development progress of the next major APScheduler release (v4.0). ## Terminology changes in v4.0 The old term of "Job", as it was, is gone, replaced by the following concepts which are closer to the terminology used by Celery: - Task definition: a uniquely named callable coupled with configuration like maximum number of instances, misfire grace time etc. - Schedule: binds a trigger with a task definition - Job: queued work item for an executor (binds to a task definition, and optionally a schedule) Also, the term "executor" is now being changed to "worker". Notice that the terminology may still change before the final release! ## Planned major changes v4.0 is a ground-up redesign that aims to fix all the long-standing flaws found in APScheduler over the years. Checked boxes are changes that have already been implemented. - [X] Async-first design, with support for asyncio and trio (via [AnyIO](https://github.com/agronholm/anyio)) - [X] Static typing friendly ([PEP 561](https://www.python.org/dev/peps/pep-0561/)) - [X] Support for serializers other than pickle - [X] Broader time zone support, including zoneinfo time zones ([PEP 615](https://www.python.org/dev/peps/pep-0615/)) - [X] Drop support for Python < 3.7 - [X] [Calendar interval trigger](https://github.com/agronholm/apscheduler/blob/master/apscheduler/triggers/calendarinterval.py) - [X] Stateful triggers - [X] `threshold` value for `AndTrigger

Comments (0)

No comments yet. Start the discussion.

Comment on this issue