[英]Why is Celery not shutting down cleanly?
在使用Ctlr-C键盘中断向Celery工作人员发出TERM信号两次(暖关机和冷关机)后,Celery工作人员才挂断电话。 它不消耗消息或执行任务(如预期的那样),但它也没有关闭。
我跑strace
对芹菜的过程,看看发生了什么事情的幕后。 这是Celery主过程PID的strace
输出
strace -p 27867
Process 27867 attached - interrupt to quit
futex(0xb966a78, FUTEX_WAIT, 0, NULL
这里是我的发现做strace
对孩子的过程:
strace -p 27874
Process 27874 attached - interrupt to quit
select(4, [3], NULL, NULL, {0, 562000}) = 0 (Timeout)
futex(0x871a808, FUTEX_WAKE, 1) = 0
select(4, [3], NULL, NULL, {1, 0}) = 0 (Timeout)
futex(0x871a808, FUTEX_WAKE, 1) = 0
......................................................
我知道我可以向进程发出一个KILL信号来摆脱它们。 但我很想知道究竟是什么阻止了这些进程被关闭,以及是否有可能对它做些什么。
软件堆栈:Python 2.6.2,Celery 2.4.6,CentOS 5.0
更新:CPU使用率降至几乎0%。 这些任务非常占用CPU,因此确认当前没有任何任务处于活动状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.