Django Celery工作人员已收到任务,但未执行任务

时间:2020-04-14 13:32:05

标签: python django celery

我正在尝试将Celery用于网站的后台工作。芹菜工作者从芹菜节拍或python manage.py shell接收任务。但是它不会在Received task处理之后继续进行。我的代码如下。

环境:Windows 10,Python 3.7.4,Celery 4.4.2

task.py

from __future__ import absolute_import, unicode_literals
from celery import Celery, shared_task

@shared_task
def check():
    print("I am checking execution")

celery.py

from __future__ import absolute_import, unicode_literals
import os
from celery import Celery

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'DjangoSample.settings')
app = Celery('DjangoSample')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()

芹菜工人日志是这样的。

(venv) C:\Users\doo56\PycharmProjects\untitled1\DjangoSample>celery -A DjangoSample worker -l info

 -------------- celery@LAPTOP-ONN7RQ0R v4.4.2 (cliffs)
--- ***** -----
-- ******* ---- Windows-10-10.0.17134-SP0 2020-04-14 22:11:33
- *** --- * ---
- ** ---------- [config]
- ** ---------- .> app:         DjangoSample:0x1a6600d6b48
- ** ---------- .> transport:   redis://localhost:6379/0
- ** ---------- .> results:
- *** --- * --- .> concurrency: 8 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
 -------------- [queues]
                .> celery           exchange=celery(direct) key=celery


[tasks]
  . catalog.tasks.check

[2020-04-14 22:11:34,101: INFO/MainProcess] Connected to redis://localhost:6379/0
[2020-04-14 22:11:34,134: INFO/MainProcess] mingle: searching for neighbors
[2020-04-14 22:11:35,240: INFO/MainProcess] mingle: all alone
[2020-04-14 22:11:35,322: WARNING/MainProcess] c:\users\doo56\pycharmprojects\untitled1\venv\lib\site-packages\celery\fixups\django.py:203: UserWarning: Us
ing settings.DEBUG leads to a memory
            leak, never use this setting in production environments!
  leak, never use this setting in production environments!''')
[2020-04-14 22:11:35,327: INFO/MainProcess] celery@LAPTOP-ONN7RQ0R ready.
[2020-04-14 22:11:36,121: INFO/SpawnPoolWorker-2] child process 19292 calling self.run()
[2020-04-14 22:11:36,141: INFO/SpawnPoolWorker-3] child process 13004 calling self.run()
[2020-04-14 22:11:36,206: INFO/SpawnPoolWorker-4] child process 24220 calling self.run()
[2020-04-14 22:11:36,228: INFO/SpawnPoolWorker-6] child process 21828 calling self.run()
[2020-04-14 22:11:36,237: INFO/SpawnPoolWorker-1] child process 2908 calling self.run()
[2020-04-14 22:11:36,282: INFO/SpawnPoolWorker-5] child process 24452 calling self.run()
[2020-04-14 22:11:36,308: INFO/SpawnPoolWorker-8] child process 3520 calling self.run()
[2020-04-14 22:11:36,379: INFO/SpawnPoolWorker-7] child process 25764 calling self.run()
[2020-04-14 22:12:05,697: INFO/MainProcess] Received task: catalog.tasks.check[07fe9098-9fb3-4caf-aed5-be64e0d4fd0d]
[2020-04-14 22:12:06,714: INFO/SpawnPoolWorker-9] child process 6692 calling self.run()
[2020-04-14 22:13:00,003: INFO/MainProcess] Received task: catalog.tasks.check[1423c63a-77b9-44f7-9263-1a98b38d55e5]
[2020-04-14 22:14:00,003: INFO/MainProcess] Received task: catalog.tasks.check[cc0f8e6d-33bf-4127-bd78-3d77796ce153]
[2020-04-14 22:20:29,090: INFO/MainProcess] Received task: catalog.tasks.check[d6a6cb49-89ad-4749-a933-1de98f7de938]

我可以看到工作人员接收到任务,但是直到成功,它才处理。我可以解决这个问题吗?

0 个答案:

没有答案
相关问题