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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...