django的排队和cron系统
dqueue的Python项目详细描述
#dqueue
dqueue是
[django轻量级队列](https://github.com/thread/django轻量级队列)的一个实验分支,BR/>更大的灵活性。BR/> BR/>当我们用替代的
配置进行实验时,可能是不正确的。
BR/>基本用法
By/>‘Python BR/>导入时间< BR/>从dQueLeb导入任务
BR/>定义任务
@ TASK()第二个参数:
时间。睡眠(第一个参数*第二个参数)
` dqueue和
可在“app\u settings.py”中找到。它们应该放在通常的django
设置文件中,例如:
``python
dqueue_backend='dqueue.backends.redis.redisbackend'
````
>如果需要,可以将特定的配置重写放在一个独立的
python文件中,该文件通过命令行传递。
给定一个“special.py”,其中包含:
``python
dqueue\u redis\u port=12345
`````
,然后运行:
```````
$python manage.py queue\u runner--config=special.py
````
,运行程序将使用指定配置文件中的设置,而不是django环境中的设置。指定文件中不存在的任何设置都继承自全局配置。
没有任何实际队列
-redis:使用[redis][redis]存储队列中的任务,最多执行一次任务
-可靠的redis:使用[redis][redis]存储队列中的任务,至少执行一次任务
[redis]:https://redis.io/
以django管理命令的形式实现:
```
$python manage.py queue\u runner
````
workers可以分布在多个主机上,方法是告诉每个runner
它是池的一部分:
``````
$python manage.py queue-runner--machine 2--of 4
```
要使用的配置:
```
$python manage.py queue廑runner--精确配置--config=special.py
````
在使用`--精确配置'时,工作进程的数量是精确配置的,而不是作为池的配置处理。
精确配置的运行器不会运行任何cron worker。
2个,
}
```
while:
```
$python manage.py queue廑runner--精确配置--config=special.py
```
将在当前计算机上生成两个工作线程。
dlq支持在特定时间运行类似cron的django management命令规范
管理命令应在给定时间运行,将一个
`cron.py`文件放在django应用程序的根文件夹中,该文件夹定义了命令
,并包含一个'config'变量:
``python
config=(
{
'command':'my戋cron戋command',
day值1-7以匹配datetime.datetime.utcnow().isoweekday()
“天”:“*”,
“小时”:“*”,
“分钟”:“*”,
与kwarg的行为等价于具有相同名称的“task”
“sigkill”:true,
},
)
`````
dqueue是
[django轻量级队列](https://github.com/thread/django轻量级队列)的一个实验分支,BR/>更大的灵活性。BR/> BR/>当我们用替代的
配置进行实验时,可能是不正确的。
BR/>基本用法
By/>‘Python BR/>导入时间< BR/>从dQueLeb导入任务
BR/>定义任务
@ TASK()第二个参数:
时间。睡眠(第一个参数*第二个参数)
` dqueue和
可在“app\u settings.py”中找到。它们应该放在通常的django
设置文件中,例如:
``python
dqueue_backend='dqueue.backends.redis.redisbackend'
````
>如果需要,可以将特定的配置重写放在一个独立的
python文件中,该文件通过命令行传递。
给定一个“special.py”,其中包含:
``python
dqueue\u redis\u port=12345
`````
,然后运行:
```````
$python manage.py queue\u runner--config=special.py
````
,运行程序将使用指定配置文件中的设置,而不是django环境中的设置。指定文件中不存在的任何设置都继承自全局配置。
没有任何实际队列
-redis:使用[redis][redis]存储队列中的任务,最多执行一次任务
-可靠的redis:使用[redis][redis]存储队列中的任务,至少执行一次任务
[redis]:https://redis.io/
以django管理命令的形式实现:
```
$python manage.py queue\u runner
````
workers可以分布在多个主机上,方法是告诉每个runner
它是池的一部分:
``````
$python manage.py queue-runner--machine 2--of 4
```
要使用的配置:
```
$python manage.py queue廑runner--精确配置--config=special.py
````
在使用`--精确配置'时,工作进程的数量是精确配置的,而不是作为池的配置处理。
精确配置的运行器不会运行任何cron worker。
2个,
}
```
while:
```
$python manage.py queue廑runner--精确配置--config=special.py
```
将在当前计算机上生成两个工作线程。
dlq支持在特定时间运行类似cron的django management命令规范
管理命令应在给定时间运行,将一个
`cron.py`文件放在django应用程序的根文件夹中,该文件夹定义了命令
,并包含一个'config'变量:
``python
config=(
{
'command':'my戋cron戋command',
day值1-7以匹配datetime.datetime.utcnow().isoweekday()
“天”:“*”,
“小时”:“*”,
“分钟”:“*”,
与kwarg的行为等价于具有相同名称的“task”
“sigkill”:true,
},
)
`````