Task submitting
Task can be invoked by task object or name and can have the following parameters:
queuepriorityfrom 1 to 5.timeoutttlresult_return. IfFalseno result will be returned from the task.result_ttlthread. IfTruetask will be executed in a separate thread.events. IfTruetask events will be dispatched.headers
Info
These parameters passed in send_task method override task and application settings.
from arrlio import App, Config, task
@task(name="Task foo", priority=1, thread=False, events=False)
def foo():
return
app = App(Config())
async with app:
await app.send_task(
foo, # or "Task foo"
queue="tasks.foo",
priority=5,
timeout=10,
ttl=60,
result_return=False,
thread=True,
events=True,
headers={"key": "Additional headers"}
)
Info
For rabbitmq broker/backends Arrlio creates all needed exchanges and queues.