一些背景故事:
昨晚我的服务器磁盘空间不足,而 delay_job 工作人员正在处理图像的作业。
当我试图阻止工人时,我得到响应“终止”。
RAILS_ENV=production script/delayed_job stop
Terminated
然后我运行以下命令来查看工人是否被终止。
ps -ef | grep delayed_job
servername 4474 4274 0 02:37 pts/1 00:00:00 grep --color=auto delayed_job
现在我尝试启动新的工人。
RAILS_ENV=production script/delayed_job -n2 start
ERROR: there is already one or more instance(s) of the program running
ERROR: there is already one or more instance(s) of the program running
这是我遇到的错误,即使我似乎已经停止了所有活跃的工作人员,我也无法启动任何新工作人员。
这让我很困惑,所以我跑了
RAILS_ENV=production script/delayed_job status
delayed_job: running [pid 0]
delayed_job: running [pid 0]
这似乎是错误的 [pid 0],我的工人似乎已经被破坏了,我希望弄清楚如何解决这个问题。谢谢!
我在 Linux Ubuntu LTS 10.4 上运行。
编辑:所以我删除了我在 tmp/pids 中找到的 2 个工作文件,它们允许我启动和停止工作人员。但是,工作人员不会运行任何东西,因为我相信我需要在 tmp 文件夹中生成 PID 文件。