向 rabbitmq 发送 celery 任务消息

Send celery task message to rabbitmq

我通常将 celery 与 Django 一起使用,运行 在 Django 中共享任务。

但对于特定情况,我想在没有 运行ning Django 或 celerybeat 的情况下手动将任务队列添加到 rabbitmq。

是否有任何简单的 python 脚本或 shell cmd 可以做到这一点?

您可以使用 send_task method 将任务排队到任意 celery 代理。但是,您必须知道应用程序名称和代理 url 才能将任务发送到正确的位置。


from celery import Celery

app = Celery('app_name', broker='pyamqp://guest@localhost//')
app.send_task('namespace.my_task', kwargs={
    'arg1': 'value1',
    'arg2': 'value2',
})