To find out how to migrate your application from a previous version of
APScheduler, see the :doc:migration section <migration>.
UNRELEASED
BREAKING Workers were merged into schedulers. As the Worker and
AsyncWorker classes have been removed, you now need to pass
role=SchedulerRole.scheduler to the scheduler to prevent it from processing due
jobs. The worker event classes (WorkerEvent, WorkerStarted, WorkerStopped)
have also been removed.
BREAKING The synchronous interfaces for event brokers and data stores have been
removed. Synchronous libraries can still be used to implement these services through
the use of anyio.to_thread.run_sync().
BREAKING The current_worker context variable has been removed
BREAKING The current_scheduler context variable is now specified to only
contain the currently running instance of a synchronous scheduler
(apscheduler.schedulers.sync.Scheduler). The asynchronous scheduler instance can
be fetched from the new current_async_scheduler context variable, and will always
be available when a scheduler is running in the current context, while
current_scheduler is only available when the synchronous wrapper is being run.
BREAKING Changed the initialization of data stores and event brokers to use a
single start() method that accepts an AsyncExitStack (and, depending on the
interface, other arguments too)
BREAKING Added a concept of "job executors". This determines how the task function
is executed once picked up by a worker. Several data structures and scheduler methods
have a new field/parameter for this, job_executor. This addition requires database
schema changes too.
Added the ability to run jobs in worker processes, courtesy of the processpool
executor
The synchronous scheduler now runs an asyncio event loop in a thread, acting as a
façade for ``AsyncScheduler`
Fixed the schema parameter in SQLAlchemyDataStore not being applied
Fixed SQLalchemy 2.0 compatibility
4.0.0a2
BREAKING Changed the scheduler API to always require a call to either
run_until_stopped() or start_in_background() to start the scheduler (using it
as a context manager is no longer enough)
BREAKING Replaced from_asyncpg_pool() with from_dsn() in the asyncpg event
broker
Added an async Redis event broker
Added automatic reconnection to the Redis event brokers (sync and async)
Added automatic reconnection to the asyncpg event broker
Changed from_async_sqla_engine() in asyncpg event broker to only copy the
connection options instead of directly using the engine
Simplified the MQTT event broker by providing a default client instance if omitted
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on apscheduler to permit the latest version.
Changelog
Sourced from apscheduler's changelog.
... (truncated)
Commits
034586a
Added the release version54d7534
Marked removal of from_asyncpg_pool() as a breaking change724c21e
Removed setup.cfg entirely6c57dca
Added section to user guide on how to run the schedulere47af44
Fixed resource warnings in the asyncpg event broker when the listener task is...2a0eac6
Fixed asyncpg/redis start() while cancelled resulting in an inconsistent canc...5f0627b
Changed the scheduler API to require an explicit start call90a9675
Fixed docstring on stop_check_intervalf41a7e5
Added mention of the JobReleased event serialization fix to the changelogefc7b92
Don't report cancellations as crashes on Python 3.7Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)