使用Rails 3.2.21,每当gem。这是我的crontab列表:
Begin Whenever generated tasks for: abc
0 * * * * /bin/bash -l -c 'cd /home/deployer/abc/releases/20141201171336 &&
RAILS_ENV=production bundle exec rake backup:perform --silent'
这是运行预定作业时的输出:
deployer@localhost:~$ ps aux | grep rake
deployer 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=production bundle exec rake
backup:perform --silent'
deployer 25594 0.0 0.1 12436 3040 ? S 12:00 0:00 /bin/bash -l -c cd
/home/deployer/abc/releases/20141201171336 && RAILS_ENV=production bundle exec rake
backup:perform --silent
deployer 25631 69.2 4.4 409680 90072 ? Sl 12:00 0:06 ruby /home/deployer/abc/
shared/bundle/ruby/1.9.1/bin/rake backup:perform --silent
deployer 25704 0.0 0.0 11720 2012 pts/0 S+ 12:00 0:00 grep --color=auto rake
请注意,前2个进程实际上是类似的进程。他们同时运行2个相同的工作吗?我该如何预防?
答案 0 :(得分:0)
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 …请注意,前2个进程实际上是类似的进程。他们同时运行两个相同的工作吗?
不,他们不是。第一个是启动第二个的/bin/sh
, crontab 命令/bin/bash …
。很可能/bin/sh
正在等待/bin/bash
的终止,并且在/bin/bash …
完成执行之前不再运行;你可以用e验证这个。 G。 strace -p 25593
。
答案 1 :(得分:-2)
如果您发现删除并部署,请检查您的scheduled.rb是否有重复条目 如果scheduled.rb中没有重复条目,则需要从cron选项卡中删除/注释它 要删除或评论cron中的作业,请查看https://help.1and1.com/hosting-c37630/scripts-and-programming-languages-c85099/cron-jobs-c37727/delete-a-cron-job-a757264.html或http://www.esrl.noaa.gov/gmd/dv/hats/cats/stations/qnxman/crontab.html