Когда я запускаю Celery из командной строки, я вижу только задачи, которые находятся в том же файле, что и объект Celery, но не те, что в других файлах.
Структура проекта следующая:
celery_test
celery_tasks
__init__.py
celery_app.py
async
__init__.py
tasks.py
marker
__init__.py
tasks.py
Содержимое файлов выглядит следующим образом
celery_app.py
from __future__ import absolute_import
from celery import Celery
celery_application = Celery('celery_test', backend='redis://localhost', broker='redis://localhost')
@celery_application.task
def test_celery():
print 4
И любой из файлов tasks.py
имеет что-то вроде
async/tasks.py
from __future__ import absolute_import
import time
from celery_tasks.celery_app import celery_application
@celery_application.task
def async_test():
print 'Start async_test'
time.sleep(3)
print 'Finish async_test'
Когда я запускаю Celeryследующим образом
celery --app=celery_tasks.celery_app:celery_application worker -l debug
Я получаю следующее
-------------- celery@LAPTOP-HCR4G00Q v3.1.25 (Cipater)
---- **** -----
--- * *** * -- Windows-10-10.0.16299
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app: celery_test:0x6ff3f28
- ** ---------- .> transport: redis://localhost:6379//
- ** ---------- .> results: redis://localhost/
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ----
--- ***** ----- [queues]
-------------- .> celery exchange=celery(direct) key=celery
[tasks]
. celery.backend_cleanup
. celery.chain
. celery.chord
. celery.chord_unlock
. celery.chunks
. celery.group
. celery.map
. celery.starmap
. celery_tasks.celery_app.test_celery
, это просто задача, которая находится в том же файле, что и приложение.
Любые предложения о том, какреши это?Мне действительно нужно разделить задачи по темам, потому что их много, чтобы они были в одном файле.