如何解决shared_task 未在 Windows 10 上的 Celery、Redis、Django 中注册
姜戈 = 3.2 芹菜 = 4.3.0(大黄) Redis = 3.5.3 视窗 10
proj/celery.py
from __future__ import absolute_import,unicode_literals
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE','kunai.settings')
celery_app = Celery('kunai')
celery_app.config_from_object('django.conf.settings',namespace='CELERY')
celery_app.autodiscover_tasks()
@celery_app.task(bind=True)
def debug_task(self):
print(f'Request: {self.request!r}')
@celery_app.task(bind=True)
def greet_task(self):
print('hello World')
proj/init.py
from __future__ import absolute_import,unicode_literals
from .celery import celery_app
__all__ = ('celery_app',)
app/task.py
from celery import shared_task
from celery import app
from .track import track
celery = Celery('task',broker='redis://127.0.0.1:6379') #!
@shared_task(name="update_product_task")
def update_product_task():
track()
return True
@app.task(bind=True)
def product_task():
track()
return True
proj/settings.py
CELERY_RESULT_BACKEND = 'django-db'
CELERY_broKER_URL = 'redis://127.0.0.1:6379'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_RESULT_SERIALIZER = 'json'
CELERY_TASK_SERIALIZER = 'json'
CELERY_BEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler'
芹菜输出屏幕
(venv) PS E:\Djangoprojects\kunai> celery -A kunai worker -l info -P gevent
-------------- celery@DESKTOP-6F61B0H v4.3.0 (rhubarb)
---- **** -----
--- * *** * -- Windows-10-10.0.19041-SP0 2021-05-09 00:03:02
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app: kunai:0x2cbc1802490
- ** ---------- .> transport: redis://127.0.0.1:6379//
- ** ---------- .> results:
- *** --- * --- .> concurrency: 4 (gevent)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
-------------- [queues]
.> celery exchange=celery(direct) key=celery
[tasks]
. kunai.celery.debug_task
. kunai.celery.greet_task
[2021-05-09 00:03:02,857: INFO/MainProcess] Connected to redis://127.0.0.1:6379//
[2021-05-09 00:03:02,921: INFO/MainProcess] mingle: searching for neighbors
[2021-05-09 00:03:04,099: INFO/MainProcess] mingle: all alone
[2021-05-09 00:03:04,175: INFO/MainProcess] pidBox: Connected to redis://127.0.0.1:6379//.
[2021-05-09 00:03:04,206: INFO/MainProcess] celery@DESKTOP-6F61B0H ready.
我想将我的 apps/task.py 添加到任务队列中,但唯一注册的任务是 proj/celery.py 中存在的任务> 文件。
有没有人对这个问题有任何解决方案?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。