今天我一直在尝试使用AWS SQS作为代理来设置Celery,但是在激发以下情况时:
test.py
from celery import Celery
access_key_id = '********************'
secret_access_key = '****************************************'
broker_url = 'sqs://%s:%s@' %(access_key_id, secret_access_key)
app = Celery('test', backend=None, broker=broker_url)
@app.task
def add(x, y):
return x + y
Run Code Online (Sandbox Code Playgroud)
尝试使用该命令运行Celery worker
celery -A test worker --loglevel=info
Run Code Online (Sandbox Code Playgroud)
有了这个,我收到以下错误:
Unrecoverable error: ImportError('The curl client requires the pycurl library.',)
Run Code Online (Sandbox Code Playgroud)
我安装了以下软件包:
amqp (2.2.2)
billiard (3.5.0.3)
boto (2.48.0)
boto3 (1.4.7)
botocore (1.7.48)
celery (4.1.0)
docutils (0.14)
jmespath (0.9.3)
kombu (4.1.0)
pip (9.0.1)
pycurl (7.43.0)
python-dateutil (2.6.1)
pytz (2017.3)
s3transfer (0.1.11)
schedule (0.5.0)
setuptools …Run Code Online (Sandbox Code Playgroud)