如何判断延迟作业是否在后台运行时是否正在运行。如果它已停止,那么它应该通过检查一些进程pid或其他东西开始运行。我的问题是暂停延迟作业停止有时我无法找出它为什么会发生,所以任何人都可以告诉我应该怎样做才能解决这个问题。 这是我检查状态的命令
RAILS_ENV=staging ./script/delayed_job status
但我需要做一些应该自动检查延迟作业是否正在运行的事情.IF不应该开始运行
答案 0 :(得分:1)
在根目录中创建一个shell脚本文件并放置此代码 然后授予文件
的权限ps_out=`ps -ef | grep delayed | grep -v 'grep' | grep -v $0`
result=$(echo $ps_out | grep "$1")
if [[ "$result" != "" ]];then
echo "Running"
else
/path-to-your-project/delayed_job start
fi
现在将其添加到crontab
中crontab -e
答案 1 :(得分:0)