加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Cron工作不能在每当宝石

发布时间:2020-12-16 20:21:10 所属栏目:百科 来源:网络整理
导读:我有一个包含一堆任务的应用程序,每天我都想运行一个cron作业,为数据库中的每个Task创建一个DayTask.任务has_many DayTasks和这些daytasks是什么用户将每天检查.我正在使用宝石,但似乎没有运行.有任何想法吗? 配置/ schedule.rb every 1.day,:at = "12:01am
我有一个包含一堆任务的应用程序,每天我都想运行一个cron作业,为数据库中的每个Task创建一个DayTask.任务has_many DayTasks和这些daytasks是什么用户将每天检查.我正在使用宝石,但似乎没有运行.有任何想法吗?

配置/ schedule.rb

every 1.day,:at => "12:01am" do
  runner "Task.generate_tasks_for_day"  
end

Task.rb

def generate_tasks_for_day
    Task.all.each do |task|
      task.day_tasks.create(:target_date => Date.today)
    end 
  end

运行’每当命令’的结果

1 0 * * * /bin/bash -l -c 'cd /home/grant/rails_projects/GoalTwist && script/rails runner -e production '''Task.generate_tasks_for_day''''

注意:每当我想要测试运行它时,我一直在更改config / schedule.rb中的时间.

解决方法

最后我已经解决了如何运行宝石.
它在生产中运行良好,但不是在开发模式(我认为在开发模式下工作良好,你必须做一些技巧).

然后,这些是进程:

>安装宝石
写你的scheduler.rb文件
>推送到远程服务器
>登录到远程服务器(例如使用ssh)
看看是否每当通过在终端中运行上传好时:每当
>每当crontab通过运行更新:when -update-crontab
>重新启动服务器crontab(例如在Ubuntu服务器中):sudo service cron restart
>检查crontab在服务器上是否良好实现:crontab -l

而已!

就我个人而言,我更喜欢直接从服务器设置crons:

>编辑crontab:crontab -e>附加我的cron(例如每天上午5:00 – 对于不是基于Linux的服务器,可能会有所不同):0 5 * * * / bin / bash -l -c’cd / path_to_my_app / current&& RAILS_ENV =生产包exec rake my_cron_rake’>检查是否良好实现:crontab -l>完成

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读