ruby - Rails 延迟的工作在暂存时停止

标签 ruby linux ruby-on-rails-4 ruby-on-rails-5 delayed-job

如何确定延迟作业是否在暂存后台运行。如果它停止,那么它应该通过检查一些进程 pid 或其他东西开始运行。我的问题是暂存延迟作业有时会停止,我无法弄清楚为什么会发生这样任何人都可以告诉我我应该怎么做才能解决这个问题。 这是我检查状态的命令

RAILS_ENV=staging ./script/delayed_job status

但我需要做一些事情来自动检查延迟作业是否正在运行。如果没有,它应该开始运行

最佳答案

在根目录下创建一个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

关于ruby - Rails 延迟的工作在暂存时停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41032148/

相关文章:

javascript - 模态对话框不适用于 bootstrap 4

ruby-on-rails - 如何在生产服务器中升级 rvm 和 ruby​​ 版本

具有完整路径的 Linux cp

linux - waitpid的用意是什么

c - 使用文件描述符打开读取文件

css - Rails Assets 未预编译,css 在生产环境中看起来不同

mysql - 在数据库中加载新模式而不删除现有数据轨

ruby - 自定义用于整数转换的异常消息-Ruby

ruby-on-rails - 创建子错误后父变量消失?

ruby - Rails 控制台中没有数据库连接