想要写一个 rake task,在里面确认 sidekiq 的状态,如果 sidekiq 死掉了,就重新启动。 结果发现,rake task 和主进程是跑在不同的进程里面的,怎么跑,processes_size 都是 0。 后来在 controller 里面写了一个 action,判断 processes_size。 在 console 中 curl 去抓取,没有问题,processes_size 在正常情况下是 1。 但是在 rake 里面 curl 相同的网址,返回的就是 0 了。 只能写了一个 shell 文档,然后定时执行这个 shell,不用 rake task 了。