我有一个RabbitMQ
服务器在我的Ubuntu计算机上运行。我有一个名为Celery
的{{1}}工人
simple_worker.py
因此,我启动了工作进程:# simple_worker.py
import time
from celery import Celery
# Create the app and set the broker location (RabbitMQ)
app = Celery('simple_worker',
backend='rpc://',
broker='pyamqp://guest@localhost//')
@app.task
def create_file():
""" Create file if does not exist """
with open(str(int(time.time())) + '.txt', 'a'):
pass
,它正常启动了。
在python shell中:
celery -A simple_worker worker
这将导致在当前目录中创建一个文件。到目前为止,一切都很好。
但是,我无法从from simple_worker import *
create_file.delay()
获得相同的行为。
开始开花:flower
现在使用flower celery -A simple_worker
进行的所有通话都只会继续添加到队列中。可以通过启动celery命令并查看正在创建的测试文件来确认。
另外,.delay()
输出curl http://localhost:5555/api/task/types
和{"task-types": []}
输出curl -X POST http://localhost:5555/api/task/async-apply/simple_worker.create_file
。
版本:
{"task-id": "05b4a52e-9ea4-4abb-8183-1ca21e96b488", "state": "PENDING"}
任何帮助将不胜感激。