1
0bit 2014-03-14 09:25:21 +08:00
很少用rqinfo看,一直用的rq-dashboard来看,但是queue太多的话,页面可能会刷新不了。
|
2
humiaozuzu 2014-03-14 09:27:21 +08:00
话说 Livid 有用 rq 跑 schedule 嘛?还是都用 crontab 做的?
|
3
geew 2014-03-14 09:52:43 +08:00
@humiaozuzu rq 可以在程序里调用添加的 crontab也行吗?
|
4
humiaozuzu 2014-03-14 10:05:20 +08:00
|
5
ericFork 2014-03-14 11:58:54 +08:00
借贴求教一下,有没有用 django-rq 的?你们是如何起多个 worker 的?
|
6
muxi 2014-03-14 12:03:08 +08:00
rq scheduler 不能删除,这个很蛋疼
|
7
BeanYoung 2014-03-14 12:38:53 +08:00 via iPhone 2
估计是任务超时 任务执行代码里没有对JobTimeException处理 超时后依然在运行 导致worker的信息在redis里过期
|
10
Livid MOD OP @humiaozuzu 我是用 supervisord 来启动 rqworker。
|
12
VYSE 2014-03-14 16:17:20 +08:00 2
@BeanYoung 不过我用默认的rqworker命令行, JobTimeoutException会被handle_exception处理,然后置为failed,enqueue得到的result也是能拿到JobTimeoutException,理论上这时queue还会正常工作。
从我这来看,消失的worker过段时间还会出现,可能是signal.alarm 超时信号没有返回到handler,rqworker还是等任务超时结束后才继续运行。 |
13
VYSE 2014-03-14 17:01:34 +08:00 1
@VYSE 果然是worker里的某个native ext直接忽略SIGINT/SIGALRM等信号,还是改rq开新进程monitor woker进程靠谱些。
|
14
Livid MOD OP |
15
VYSE 2014-03-14 19:50:10 +08:00
https://github.com/nvie/rq/issues/323
不过不报希望会搞定,上次报另外一个就直接close了. |
16
Livid MOD OP 所以我估计我这里问题的根源是,task 里的 requests 发的请求没有加 timeout 设置。
|