app.celery.MyCelery.autodiscover_tasks
- MyCelery.autodiscover_tasks(packages=None, related_name='tasks', force=False)
Auto-discover task modules.
Searches a list of packages for a “tasks.py” module (or use related_name argument).
If the name is empty, this will be delegated to fix-ups (e.g., Django).
For example if you have a directory layout like this:
foo/__init__.py tasks.py models.py bar/__init__.py tasks.py models.py baz/__init__.py models.py
Then calling
app.autodiscover_tasks(['foo', 'bar', 'baz'])
will result in the modulesfoo.tasks
andbar.tasks
being imported.- Parameters
packages (List[str]) – List of packages to search. This argument may also be a callable, in which case the value returned is used (for lazy evaluation).
related_name (Optional[str]) – The name of the module to find. Defaults to “tasks”: meaning “look for ‘module.tasks’ for every module in
packages
.”. IfNone
will only try to import the package, i.e. “look for ‘module’”.force (bool) – By default this call is lazy so that the actual auto-discovery won’t happen until an application imports the default modules. Forcing will cause the auto-discovery to happen immediately.