A jobs queue for processing tasks asynchronously

This talk is about the "Connector" [1] addon, but focused on the Jobs Queue, which can be used independently of any "connection". We will show, with examples, how we can use this module to delay intensive tasks which would block the users if they were executed synchronously. We'll also see how we can optimize the workload of the jobs using different Job Channels.

32.
Outdating
Existence
A job can refer to a record which has been deleted. Always
check if it still exists.
No:
@job
defexample(session,record_id):
export(session.env['model'].browse(record_id))
Yes:
@job
defexample(session,record_id):
record=session.env['model'].browse(record_id)
ifrecord.exists():
export(record)
26 / 32