如何在Celery中传递连接信息
我想知道如何在使用Celery的时候,把用户和密码的连接信息加到我的消息代理(broker)里。我并没有使用Django框架,只是用Python 3。
我试过这样做:
app = Celery('tasks',
broker='sqs://123:123',
)
app.connection(
userid="23",
password="123",
transport_options="{'region': 'eu-west-1'}"
)
1 个回答
2
你可以使用 config_from_object
这个方法。根据文档的说明:
这个方法可以从一个对象中读取配置,这个对象可以是一个实际的对象,或者是一个需要导入的模块的名字。
举个例子:
celeryconfig.py
:
BROKER_TRANSPORT = 'amqp'
BROKER_USER = 'user'
BROKER_PASSWORD = 'password'
BROKER_HOST = 'remote.server.com'
BROKER_PORT = 123
#...
在模块中:
app = Celery('tasks')
app.config_from_object('celeryconfig')