Tag: cron

每分钟运行一次的邮件的最佳导轨解决方案

我有一个应用程序,每分钟检查一次数据库,以查找当时应该发送的任何电子邮件。 我正在考虑将这个作为一个rake任务,每分钟由一个cron作业运行。 会有更好的解决方案吗? 从我所读到的,这不是理想的,因为rake必须每分钟加载整个rails环境,这变得昂贵。 思考? 谢谢。

Rake Cron工作错误

0/5 * * * * / bin / bash -l -c’cd / home / mss / ruby​​ / example && RAILS_ENV = development / usr / local / bin / bundle exec rake check_me_out –silent >> / tmp / cron_log。 log 2>&1′ 上面的cron抛出一个错误“bash:bundle:command not found …” 该命令在命令行中运行良好 任何帮助将不胜感激。

使用when gem时将env变量设置为cron计划任务

在下面的代码中,我想设置一些存储在文件中的环境变量。 我错过了什么吗? 在’bundle exec when’之后在生产中打印env没有显示设置的环境变量。 每当gem用于预定的cron任务并花费数小时来计算这个。 也可以建议任何其他方式。 every 1.day, :at => ‘2:30 am’ do # Run shell script to assign variables and continue the rake task system “for line in `cat config/myEnvFile.env` ; do export $line ; done” rake “task:continue_doing_my_task” end

Spring服务器:超时错误

我正在尝试使用Rails schedule.rb文件运行cron-task。 该任务调用以ruby编写的函数。 该function运行完美。 但是当我尝试作为cron运行时,我得到了这个错误。 Starting Spring server with `/home/ubuntu/.rvm/gems/ruby-2.4.0/gems/spring-2.0.2/bin/spring server –background` timed out after 20 seconds Spring(2.0.2)安装完美且工作正常。 知道怎么解决这个问题吗?

以编程方式编辑crontab并强制守护进程刷新

我正在尝试使用优秀的CronEdit gem在Ruby中为Crontab编写Web前端。 我浏览了Dillon Cron的crontab源代码,发现它更新了一个特定的文件,以便守护进程在下一次扫描时刷新cron列表。 在VixieCron的man crontab中,它说: 另外,cron检查每一分钟以查看其假脱机目录的modtime(或/ etc / crontab上的modtime)是否已更改,如果有,cron将检查所有crontabs上的modtime并重新加载已更改的那些。 因此,无论何时修改crontab文件,都不需要重新启动cron。 请注意,只要crontab(1)命令更改了crontab,它就会更新假脱机目录的modtime。 有没有任何平台(Ubuntu,Red Hat,ArchLinux,Mac OS X)独立的方式来确保在手动编辑Cron文件之后守护进程刷新它没有失败?

如何运行所有rake任务?

刚刚安装gemhttps://github.com/javan/whenever运行我的rake任务,这是nokogiri / feedzilla依赖的抓取任务。 例如我的任务叫做grab_bbc,grab_guardian等 我的问题 – 当我更新我的网站时,我会不断向scheduler.rake添加更多任务。 我应该在config / schedule.rb中编写什么来使所有rake任务运行,无论它们被称为什么? 这样的东西会起作用吗? every 12.hours do rake:task.each do |task| runner task end end 使用RoR 4是Cron的新手。

Gem如何在Controller.rb文件中运行特定方法

我希望每分钟在我的controller.rb文件中运行一个特定的方法。 我正在考虑使用随时随地的gem铁路,但我有点困惑如何做到这一点。 目前在schedule.rb我有: every 1.minutes do runner “Server.update_all_servers” end 我不确定runner命令的作用。 有人可以解释这个命令究竟是做什么的吗 根据我的理解,它调用Model.ModelMethod但我需要在application_controller.rb中调用一个名为update_all_servers()的方法。 是否有可能做到这一点? 或者我是否必须将application_controller.rb中的任何内容移动到模型文件(例如位于/models/server.rb中的文件)?

在生产环境中每当gem创建执行cron时,缺少必需的gem

我已经在生产中运行的rails应用程序,这个应用程序有STOCK模型,它应该每1分钟更新一次。 为了更新这个模型,我创建简单的rake任务db:populate:stocks ,当它只包含两个操作时: 截断STOCK模型 使用来自webservice的最新数据获取来填充STOCK模型 这个rake任务应该每1分钟执行一次,为此我每次使用gem都会使用。 这是我的schedule.rb : env :PATH, ENV[‘PATH’] set :job_template, nil set :output, {:standard => ‘/home/admin/shared/log/cron.log’, :error => ‘/home/admin/shared/log/cron-error.log’} job_type :rake, “cd :path && rake :task RAILS_ENV=:environment –trace :output” every 1.minute do rake “db:populate:stocks” end 在生产中我使用rvm运行ruby 1.9.2-p180,rails 3.1.0和capistrano,这里是我更新cron选项卡的capistrano任务: after “deploy:update_code” do run “cd #{release_path} && whenever –clear-crontab RAILS_ENV=production” run “cd #{release_path} && […]

仅使用cron:/ usr / bin / env:ruby_executable_hooks:没有这样的文件或目录

我有一个perl脚本,它使用system()来调用shell命令,该命令使用ruby_executable_hooks。 当我从命令行运行此脚本时,它执行完美。 但是当它从一个cron作业运行时,我得到两个错误之一:A)如果我没有chdir()即。 工作目录是/ home / foobar /usr/bin/env: ruby_executable_hooks: No such file or directory B)如果我是chdir(“[doc root] / cgi-bin”) /usr/lib/ruby/site_ruby/1.8/rubygems.rb:779:in `report_activate_error’: Could not find RubyGem twurl (>= 0) (Gem::LoadError) from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:214:in `activate’ from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:1082:in `gem’ from /home/foobar/.rvm/gems/ruby-1.9.3-p551/bin/twurl:22 from /home/foobar/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/gems/1.9.1/bin/ruby_executable_hooks:15 从cron运行时它无法找到某些文件的原因是什么?

Cron +每当不使用RVM时

我正在使用RVM环境。 RUby版本:2.1.2 rails:4.1.1 schedule.rb : every 1.minute do runner “note.send_mail” end 我whenever –update-crontab使用whenever –update-crontab来更新cron选项卡。 当我使用crontab -l检查作业时,它显示如下,没有设置适当的时间。 并且cron工作不起作用。 * * * * * /bin/bash -l -c ‘cd /Desktop/folder1/blog2 && bin/rails runner -e production ‘\”note.send_mail’\”’ 有人可以帮我解决这个问题。 谢谢!