Sidekiq - 间歇性不启动
Sidekiq - Intermittent nonstart
我正在处理一个令人沮丧的错误 - 有时 sidekiq 不会开始处理作业。这是烦人的间歇性。
当它发生时,sidekiq.log
没有显示任何变化(它是 运行)。队列大小保持为 0。我猜它在 Redis 中丢失了。
以防万一,我在同一台机器(不同的环境)上安装了同一个应用程序的三个环境(不同的环境),这是我刚刚放入的(但问题先于它们)。默认端口上只有一个 Redis 运行。
我知道 redis-cli MONITOR
但它吐出的东西太快了,而且太多了,我很难弄清楚发生了什么。
1491479154.190069 [0 127.0.0.1:38763] "brpop" "queue:default" "2"
1491479154.289507 [0 127.0.0.1:38753] "brpop" "queue:default" "2"
1491479154.289544 [0 127.0.0.1:38752] "brpop" "queue:default" "2"
/// snip... many lines of these
1491479154.364985 [0 127.0.0.1:38772] "multi"
1491479154.365090 [0 127.0.0.1:38772] "incrby" "stat:processed" "0"
1491479154.365107 [0 127.0.0.1:38772] "incrby" "stat:processed:2017-04-06" "0"
1491479154.365128 [0 127.0.0.1:38772] "incrby" "stat:failed" "0"
1491479154.365133 [0 127.0.0.1:38772] "incrby" "stat:failed:2017-04-06" "0"
1491479154.365139 [0 127.0.0.1:38772] "del" "server.name:32533:6befea0f66c0:workers"
1491479154.365149 [0 127.0.0.1:38772] "expire" "server.name:32533:6befea0f66c0:workers" "60"
1491479154.365160 [0 127.0.0.1:38772] "exec"
1491479154.365896 [0 127.0.0.1:38772] "multi"
1491479154.365962 [0 127.0.0.1:38772] "sadd" "processes" "server.name:32533:6befea0f66c0"
1491479154.365977 [0 127.0.0.1:38772] "exists" "server.name:32533:6befea0f66c0"
1491479154.365987 [0 127.0.0.1:38772] "hmset" "server.name:32533:6befea0f66c0" "info" "{\"hostname\":\"server.name\",\"started_at\":1491373877.8700902,\"pid\":2217,\"tag\":\"demo\",\"concurrency\":25,\"queues\":[\"default\"],\"labels\":[],\"identity\":\"server.name:32533:6befea0f66c0\"}" "busy" "0" "beat" "1491479154.3655496" "quiet" "false"
1491479154.366035 [0 127.0.0.1:38772] "expire" "server.name:32533:6befea0f66c0" "60"
1491479154.366046 [0 127.0.0.1:38772] "rpop" "server.name:32533:6befea0f66c0-signals"
1491479154.366058 [0 127.0.0.1:38772] "exec"
1491479154.389484 [0 127.0.0.1:38751] "brpop" "queue:default" "2"
如何调试 Redis 和 Sidekiq 来解决这个问题?我想用 grep
进行管道传输,但我不能在 redis-cli
交互式 shell...
中进行
想法?
有两个实例具有不同的环境运行。一旦我删除了分期,生产工作就很好了。我猜它设置不正确。
我正在处理一个令人沮丧的错误 - 有时 sidekiq 不会开始处理作业。这是烦人的间歇性。
当它发生时,sidekiq.log
没有显示任何变化(它是 运行)。队列大小保持为 0。我猜它在 Redis 中丢失了。
以防万一,我在同一台机器(不同的环境)上安装了同一个应用程序的三个环境(不同的环境),这是我刚刚放入的(但问题先于它们)。默认端口上只有一个 Redis 运行。
我知道 redis-cli MONITOR
但它吐出的东西太快了,而且太多了,我很难弄清楚发生了什么。
1491479154.190069 [0 127.0.0.1:38763] "brpop" "queue:default" "2"
1491479154.289507 [0 127.0.0.1:38753] "brpop" "queue:default" "2"
1491479154.289544 [0 127.0.0.1:38752] "brpop" "queue:default" "2"
/// snip... many lines of these
1491479154.364985 [0 127.0.0.1:38772] "multi"
1491479154.365090 [0 127.0.0.1:38772] "incrby" "stat:processed" "0"
1491479154.365107 [0 127.0.0.1:38772] "incrby" "stat:processed:2017-04-06" "0"
1491479154.365128 [0 127.0.0.1:38772] "incrby" "stat:failed" "0"
1491479154.365133 [0 127.0.0.1:38772] "incrby" "stat:failed:2017-04-06" "0"
1491479154.365139 [0 127.0.0.1:38772] "del" "server.name:32533:6befea0f66c0:workers"
1491479154.365149 [0 127.0.0.1:38772] "expire" "server.name:32533:6befea0f66c0:workers" "60"
1491479154.365160 [0 127.0.0.1:38772] "exec"
1491479154.365896 [0 127.0.0.1:38772] "multi"
1491479154.365962 [0 127.0.0.1:38772] "sadd" "processes" "server.name:32533:6befea0f66c0"
1491479154.365977 [0 127.0.0.1:38772] "exists" "server.name:32533:6befea0f66c0"
1491479154.365987 [0 127.0.0.1:38772] "hmset" "server.name:32533:6befea0f66c0" "info" "{\"hostname\":\"server.name\",\"started_at\":1491373877.8700902,\"pid\":2217,\"tag\":\"demo\",\"concurrency\":25,\"queues\":[\"default\"],\"labels\":[],\"identity\":\"server.name:32533:6befea0f66c0\"}" "busy" "0" "beat" "1491479154.3655496" "quiet" "false"
1491479154.366035 [0 127.0.0.1:38772] "expire" "server.name:32533:6befea0f66c0" "60"
1491479154.366046 [0 127.0.0.1:38772] "rpop" "server.name:32533:6befea0f66c0-signals"
1491479154.366058 [0 127.0.0.1:38772] "exec"
1491479154.389484 [0 127.0.0.1:38751] "brpop" "queue:default" "2"
如何调试 Redis 和 Sidekiq 来解决这个问题?我想用 grep
进行管道传输,但我不能在 redis-cli
交互式 shell...
想法?
有两个实例具有不同的环境运行。一旦我删除了分期,生产工作就很好了。我猜它设置不正确。