Blu*_*ino 6 python redis celery
我正在开发一个演示,代码很简单:
\n\n# tasks.py\nimport time\n\nfrom celery import Celery\n\napp = Celery(\'tasks\',\n broker=\'redis://:5tgb^YHN7ujm*IK<@localhost:6379/0\',\n backend=\'redis://:5tgb^YHN7ujm*IK<@localhost:6379/0\'\n )\n\n\n@app.task\ndef test_task(s):\n time.sleep(300)\n return s\n\nRun Code Online (Sandbox Code Playgroud)\n\n然后启动工人
\n\n celery -A celery_test.app worker -n kalidog -c 2 -l debug -E\n\n -------------- celery@kalidog v4.3.0 (rhubarb)\n---- **** ----- \n--- * *** * -- Linux-4.9.0-8-amd64-x86_64-with-debian-9.8 2019-10-11 02:36:12\n-- * - **** --- \n- ** ---------- [config]\n- ** ---------- .> app: tasks:0x7f17bf92e128\n- ** ---------- .> transport: redis://:**@localhost:6379/0\n- ** ---------- .> results: redis://:**@localhost:6379/0\n- *** --- * --- .> concurrency: 2 (prefork)\n-- ******* ---- .> task events: ON\n--- ***** ----- \n -------------- [queues]\n .> celery exchange=celery(direct) key=celery \nRun Code Online (Sandbox Code Playgroud)\n\n然后安排任务:
\n\n>>>from celery_test import test_task\n>>>result = test_task.apply_async((11,)) \n>>>result.status\n\'PENDING\'\n>>>result.state\n\'PENDING\'\n>>>result.state\n\'PENDING\'\n>>>result.state\n\'SUCCESS\'\nRun Code Online (Sandbox Code Playgroud)\n\n为什么任务状态没有“STARTED”?而且我检查了redis。redis中没有\xe2\x80\x98celery-task-meta-XXX\xe2\x80\x99等当前任务的key,直到任务完成了
\n默认情况下不启用该功能。更多相关信息:https ://docs.celeryproject.org/en/latest/userguide/tasks.html#started
| 归档时间: |
|
| 查看次数: |
3729 次 |
| 最近记录: |