gpt4 book ai didi

ruby-on-rails - 使用 每当 gem for Rails 在 cron 作业中重复进程

转载 作者:太空宇宙 更新时间:2023-11-04 04:35:55 25 4
gpt4 key购买 nike

每当使用 gem 时,都使用 Rails 3.2.21。这是我的 crontab 列表:

开始 每当生成任务时:abc
0 * * * */bin/bash -l -c 'cd/home/deployer/abc/releases/20141201171336 &&
RAILS_ENV=生产捆绑执行 rake 备份:执行 --silent'

这是运行计划作业时的输出:

deployer@localhost:~$ ps aux | grep rake
部署者 25593 0.0 0.0 4448 764 ? SS 12:00 0:00/bin/sh -c/bin/bash -l -c
'cd/home/deployer/abc/releases/20141201171336 && RAILS_ENV=生产包执行 rake
备份:执行--静默'
部署者 25594 0.0 0.1 12436 3040 ? S 12:00 0:00/bin/bash -l -c cd
/home/deployer/abc/releases/20141201171336 && RAILS_ENV=生产包执行 rake
备份:执行--静默
部署者 25631 69.2 4.4 409680 90072 ? Sl 12:00 0:06 ruby /home/deployer/abc/
共享/bundle/ruby/1.9.1/bin/rake 备份:执行 --silent
部署者 25704 0.0 0.0 11720 2012 pts/0 S+ 12:00 0:00 grep --color=auto rake

请注意,前 2 个进程实际上是相似的进程。他们同时运行 2 个相同的作业吗?我该如何防止这种情况发生?

最佳答案

deployer 25593  0.0  0.0   4448   764 ?        Ss   12:00   0:00 /bin/sh -c /bin/bash …deployer 25594  0.0  0.1  12436  3040 ?        S    12:00   0:00 /bin/bash …

Notice the the top 2 processes are actually similar processes. Are they running 2 same jobs concurrently?

不,他们不是。第一个是启动第二个的 /bin/sh,即 crontab 命令 /bin/bash ...。很可能 /bin/sh 只是等待 /bin/bash 的终止,并且在 /bin/bash ... 完成执行之前不会再次运行;你可以用 e 来验证这一点。 G。 strace -p 25593

关于ruby-on-rails - 使用 每当 gem for Rails 在 cron 作业中重复进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27339482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com