Define a task¶
Specify a sync task with:
@app.task(...)
def mytask(argument, other_argument):
...
Note
Each sync task runs in its own thread (independently of the worker thread).
Or an async task with:
@app.task(...)
async def mytask(argument, other_argument):
...
Note
All async tasks run in the same event loop.
See App.task() for the exact parameters. In particular, you can define values for
queue, lock and queueing_lock that will be used as default values when
calling Task.configure() or Task.defer() on this task.
If you’re OK with all the default parameters, you can omit parentheses after
task:
@app.task
def mytask(argument, other_argument):
...
# or
@app.task
async def mytask(argument, other_argument):
...