gpt4 book ai didi

ruby-on-rails - Cronjob 每小时运行一次,但不是在特定时间运行

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

我的服务器上有一个 cronjob,假设每天在特定时间(例如上午 8 点)在我的 Rails 应用程序上运行 rake 脚本。我使用 whenever gem 来自动执行此操作。这是它当前在 cron 文件中的显示方式:

0 8 * * * /bin/bash -l -c 'cd /home/deploy/apps/myapp/releases/20160121092339 && RAILS_ENV=production bundle exec rake overdue_payments --silent >> /home/deploy/apps/myapp/releases/20160121092339/log/cron.log 2>&1'

而且它不起作用。但奇怪的是,如果我将我的 cron 编辑为每小时运行一次,它工作得很好!以下是我如何让它每小时运行一次:

0 * * * * /bin/bash -l -c 'cd /home/deploy/apps/myapp/releases/20160121092339 && RAILS_ENV=production bundle exec rake overdue_payments --silent >> /home/deploy/apps/myapp/releases/20160121092339/log/cron.log 2>&1'

我已将我的时区修改为本地时区(英国),但仍然无法正常工作:

enter image description here

最佳答案

我们需要为 cronjob 描述指定时区。这是我的例子:

test_cron_job:
cron: "45 11 * * * Asia/Bangkok"
class: "Schedulers::TestCronJob"
queue: default

以上 cronjob 将在曼谷时间上午 11:45 运行。顺便说一句,您可以通过以下方式找到您的时区:

ActiveSupport::TimeZone.zones_map.values.map(&:tzinfo).map(&:identifier)

关于ruby-on-rails - Cronjob 每小时运行一次,但不是在特定时间运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34920435/

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