min*_*hee 51 amazon-sqs amazon-web-services celery kombu
我想使用Amazon SQS作为Celery支持的经纪人.有关于Kombu的SQS传输实现,Celery依赖它.但是没有足够的文档来使用它,所以我找不到如何在Celery上配置SQS.是否有人成功在Celery上配置SQS?
tob*_*lty 60
我多次遇到这个问题,但仍不完全确定如何设置Celery与SQS一起使用.事实证明,使用最新版本的Kombu和Celery非常容易.作为另一个答案中提到的BROKER_URL语法的替代方法,您可以简单地设置传输,选项,用户和密码,如下所示:
BROKER_TRANSPORT = 'sqs'
BROKER_TRANSPORT_OPTIONS = {
'region': 'us-east-1',
}
BROKER_USER = AWS_ACCESS_KEY_ID
BROKER_PASSWORD = AWS_SECRET_ACCESS_KEY
Run Code Online (Sandbox Code Playgroud)
这解决了URL解析器的一个声称问题,它不允许在您的API秘密中使用正斜杠,这似乎是AWS的常见情况.由于那里似乎没有关于这个主题的丰富信息,我还在这里写了一篇关于这个主题的简短博文:
http://www.caktusgroup.com/blog/2011/12/19/using-django-and-celery-amazon-sqs/
Cal*_*ico 30
我正在使用Celery 3.0,并且在使用BROKER_USER/BROKER_PASSWORD设置启动worker时会收到弃用警告.
我查看了kombo.utils.url._parse_url中的SQS URL解析,并在URL的用户名和密码元素上调用urllib.unquote.
因此,为了解决带有正斜杠的密钥问题,我能够成功地将以下内容用于BROKER_URL:
import urllib
BROKER_URL = 'sqs://%s:%s@' % (urllib.quote(AWS_ACCESS_KEY_ID, safe=''),
urllib.quote(AWS_SECRET_ACCESS_KEY, safe=''))
Run Code Online (Sandbox Code Playgroud)
我不确定访问键是否可以在其中包含正斜杠,但引用它也没有什么坏处.
| 归档时间: |
|
| 查看次数: |
19172 次 |
| 最近记录: |