0.3.0
This is the Flask-RQ 0.3.0 feature release. It is a complete rewrite of the extension. The previous API is deprecated, this release is an intermediate upgrade step towards 1.0.
PyPI: https://pypi.org/project/flask-rq/0.3.0/
Changes: https://flask-rq.readthedocs.io/en/stable/changes/#version-0-3-0
- Drop support for Python < 3.9.
- Require Flask >= 3.0.
- Require RQ >= 2.0.
- Modernize project tools and config.
- Full static type annotations.
- Move to a class-based extension API. The previously documented global API
(get_queue,get_worker,@job) is deprecated. Use the corresponding
methods on the extension instance instead. - Add a
flask rq workercommand. - Queue configuration is expanded. The
RQ_CONNECTIONconfig defines the
default connection, and theRQ_QUEUESconfig defines the named queues.
RQ_QUEUE_CONNECTIONSconfig can define non-default connections for queues.
RQ_CONNECTION_CLASSconfig can change theredis.Redisclass used. The
previous "flat" config is deprecated. - Added the
RQ_ASYNCconfig key. By default, jobs are executed by workers. If
this is enabled, orapp.testingis enabled, jobs are executed directly. - Redis connections and RQ queues are only created once rather than on each
access. Connections can be shared between queues. - Support Quart.
- Job functions are executed with the Flask/Quart application context active.
This works for both Flask and Quart, for both syncdefandasync def
functions. - The
@jobdecoratordelayfunction is renamed toenqueueto match RQ,
and the old name is deprecated. - The extension instance is recorded in
app.extensions["rq"]. __version__is deprecated. Useimportlib.metadata.version("flask-rq")
instead.