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

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Cron工作不能在每当宝石前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个包含一堆任务的应用程序,每天我都想运行一个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>完成

原文链接:https://www.f2er.com/ruby/273207.html

猜你在找的Ruby相关文章