命令行程序将rabbitmq中的任务排队以供芹菜处理
celery-enqueue的Python项目详细描述
#芹菜队列
[芹菜](http://www.celleryproject.org/)是一个分布式任务队列
对于python,它使用[rabbitmq](https://www.rabbitmq.com/)(或
[redis](https://redis.io/))作为状态。
芹菜中通常的模式是有任务实现和
在同一个队列中排队/调度任务的代码。应用:
`` python
``在tasks.py
dedoit(arg):
…
````
``
`` python
``在app.py
` ` ` ` ` ` ` ` ` ` ` ` ` `在app.py
result=doit.delay(123)
` ` ` ` ` ` `(123)
` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` br/>rabbitmq)至连接他们。不幸的是,如果没有本地可用的
`tasks.py`文件,芹菜就无法轻松地安排“doit”任务。
来源:
```
$git clone https://github.com/unchained capital/cellery enqueue
$cd cellery enqueue
$make
````
尝试使用“-h”标志运行它以查看更多详细信息:
````
$celeri enqueue-h
````
您可以运行:
```
$celeriy将my_app.task s.my_task arg1 arg2
```
将带有参数“('arg1',
'arg2')”的任务“my_app.tasks.my_task”排队到本地rabbitmq代理的“celeriy”队列中。这应该与在应用程序中运行“my_app.tasks.my_task.delay”(arg1,
“arg2”)相同。
使用'pip',并且rabbitmq服务器
在默认端口本地运行,没有自定义vhost、用户或
安全性,您可以从芹菜队列导入队列
enqueue(“我的应用程序任务.我的任务”,“arg1”,“arg2”])
```
“arg2”)进入本地RabbitMQ代理的“芹菜”队列。这应该与在应用程序中运行“my-app.tasks.my-task.delay”(arg1,
“arg2”)相同。
“arg2”]
```
脚本将尝试连接到默认端口(5672)上的
本地rabbitmq服务器上的vhost`/`而不进行
身份验证。
以下配置设置会影响此默认行为:
*`user`--rabbitmq用户的名称
*`password`--rabbitmq用户的密码
*`host`--主机名或rabbitmq代理的ip
*`port`--rabbitmq代理的端口
*`vhost`--芹菜使用的rabbitmq vhost
*`queue`--芹菜使用的rabbitmq队列
这些设置可以通过
配置文件在命令行上提供,或者通过调用“set_config”。
n STACKTrand并以非零
返回代码退出。
< BR> >以下配置设置影响此默认行为:
BR/> *‘成功’-使“芹菜入队”始终以0的
*`%e`--异常的错误消息
*`%u`--rabbitmq代理的(屏蔽的)url
*`%t`--任务的名称
*`%a`--任务的参数
(只有设置了“success”后,“error\u命令”才会运行。)
一个简单的示例,通过配置文件处理:
``yaml
```
[芹菜](http://www.celleryproject.org/)是一个分布式任务队列
对于python,它使用[rabbitmq](https://www.rabbitmq.com/)(或
[redis](https://redis.io/))作为状态。
芹菜中通常的模式是有任务实现和
在同一个队列中排队/调度任务的代码。应用:
`` python
``在tasks.py
dedoit(arg):
…
````
``
`` python
``在app.py
` ` ` ` ` ` ` ` ` ` ` ` ` `在app.py
result=doit.delay(123)
` ` ` ` ` ` `(123)
` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` br/>rabbitmq)至连接他们。不幸的是,如果没有本地可用的
`tasks.py`文件,芹菜就无法轻松地安排“doit”任务。
来源:
```
$git clone https://github.com/unchained capital/cellery enqueue
$cd cellery enqueue
$make
````
尝试使用“-h”标志运行它以查看更多详细信息:
````
$celeri enqueue-h
````
您可以运行:
```
$celeriy将my_app.task s.my_task arg1 arg2
```
将带有参数“('arg1',
'arg2')”的任务“my_app.tasks.my_task”排队到本地rabbitmq代理的“celeriy”队列中。这应该与在应用程序中运行“my_app.tasks.my_task.delay”(arg1,
“arg2”)相同。
使用'pip',并且rabbitmq服务器
在默认端口本地运行,没有自定义vhost、用户或
安全性,您可以从芹菜队列导入队列
enqueue(“我的应用程序任务.我的任务”,“arg1”,“arg2”])
```
“arg2”)进入本地RabbitMQ代理的“芹菜”队列。这应该与在应用程序中运行“my-app.tasks.my-task.delay”(arg1,
“arg2”)相同。
“arg2”]
```
脚本将尝试连接到默认端口(5672)上的
本地rabbitmq服务器上的vhost`/`而不进行
身份验证。
以下配置设置会影响此默认行为:
*`user`--rabbitmq用户的名称
*`password`--rabbitmq用户的密码
*`host`--主机名或rabbitmq代理的ip
*`port`--rabbitmq代理的端口
*`vhost`--芹菜使用的rabbitmq vhost
*`queue`--芹菜使用的rabbitmq队列
这些设置可以通过
配置文件在命令行上提供,或者通过调用“set_config”。
n STACKTrand并以非零
返回代码退出。
< BR> >以下配置设置影响此默认行为:
BR/> *‘成功’-使“芹菜入队”始终以0的
*`%e`--异常的错误消息
*`%u`--rabbitmq代理的(屏蔽的)url
*`%t`--任务的名称
*`%a`--任务的参数
(只有设置了“success”后,“error\u命令”才会运行。)
一个简单的示例,通过配置文件处理:
``yaml
```