我有一个django Q集群,运行的配置如下:
Q_CLUSTER = {
'name': 'pretty_name',
'workers': 1,
'recycle': 500,
'timeout': 500,
'queue_limit': 5,
'cpu_affinity': 1,
'label': 'Django Q',
'save_limit': 0,
'ack_failures': True,
'max_attempts': 1,
'attempt_count': 1,
'redis': {
'host': CHANNEL_REDIS_HOST,
'port': CHANNEL_REDIS_PORT,
'db': 5,
}
}
在这个集群上,我有一个计划任务,应该每15分钟运行一次。
有时它工作得很好,这是我在工作日志中看到的:
[Q] INFO Enqueued 1
[Q] INFO Process-1 created a task from schedule [2]
[Q] INFO Process-1:1 processing [oranges-georgia-snake-social]
[ My Personal Custom Task Log]
[Q] INFO Processed [oranges-georgia-snake-social]
但其他时候任务没有开始,这是我在日志中得到的:
[Q] INFO Enqueued 1
[Q] INFO Process-1 created a task from schedule [2]
接下来的15分钟什么都没有。
你知道这是从哪来的吗
1条答案
按热度按时间j0pj023g1#
所以这是我的prod环境,看起来我的开发环境使用了相同的redis db,即使我的开发环境上没有任务存在,这似乎是问题的原因。
解决方案是在我的开发环境和生产环境之间更改redis数据库!