Tag: cron

schedule.rb中的配置文件与Rails每当gem?

我的rails应用程序的/ config文件夹中有一个名为config.yml的文件。 我还有一个初始化器:config / initializers / load_config.rb,代码如下: APP_CONFIG = YAML.load_file(“#{RAILS_ROOT}/config/config.yml”) 我正在使用Whenever gem设置一个cron作业,并希望使用我的APP_CONFIG来调用这样的函数: #inside schedule.rb every 2.hours do runner “MyModel.someMethod(‘#{APP_CONFIG[‘some_value’]}’)” end 但是当我打电话时,每当gem似乎没有识别配置文件 whenever –update-crontab mysite 如何将我的配置中的值合并到schedule.rb文件中(而不是对值进行硬编码)? 谢谢!

每当PATH在crontab文件中为rails 3 ubuntu

我正在使用带有rails 3的gem。在我的生产服务器(ubuntu)上,运行器任务不会运行。 我尝试将:set job_template为获取-l -i , 如此github票证中所述 。 然而,这并没有解决问题。 这个特定的生产ubuntu的问题是echo $PATH没有ruby路径: echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 而ruby路径是/var/rails/myapp/shared/bundle/ruby/1.8/bin 所以如果我手动编辑crontab文件并添加PATH=/var/rails/myapp/shared/bundle/ruby/1.8/bin: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games到crontab文件,运行器任务正确执行。 但是每次进行部署时,我都需要手动编辑crontab文件以向其添加PATH语句。 是否有任何方法可以在crontab文件中添加此PATH行,以便在每次部署后都不需要手动执行此操作? 谢谢

无法在rails 3中使用cronjob

我参考https://github.com/javan/whenever,按照所有步骤进行操作 在schedule.rb中 require ‘yaml’ set :environment, ‘production’ set :output, { :error => “/log/error.log”, :standard => “/log/cron.log” } every 1.minute do runner “User.weekly_update” end 在gemfile中 gem ‘whenever’, :require => false 输出一些命令 localhost:〜/ project $ when -i [write] crontab file updated localhost:〜/ project $ crontab -l # Begin Whenever generated tasks for: /home/bacancy/project/config/schedule.rb * * * * […]

Rufus Scheduler未运行

我想用gem rufus-scheduler做一些简单的事情: https : //github.com/jmettraux/rufus-scheduler 但是,我无法让它发挥作用。 我有一个常规的rails应用程序。 我创建了一个.rb文件: # test_rufus_scheduler.rb require ‘rubygems’ require ‘rufus/scheduler’ scheduler = Rufus::Scheduler.start_new scheduler.in ‘1s’ do puts “hello world” end 然后,当我尝试ruby test_rufus_scheduler.rb时,没有任何反应。 我做得对吗? gem列表显示rufus-scheduler。 谢谢。

Cron不在Whenever gem工作

我试图在我的rails应用程序上使用gem,它似乎无法工作,因为我在我的模型中创建了一个任务并定义了一个只打印时间的方法。 每当我尝试运行时-i它会给我以下错误 /usr/local/lib/ruby/gems/1.8/gems/whenever-0.6.2/lib/whenever/job_list.rb:21:in `initialize’: undefined method `>’ for :environment:Symbol (NoMethodError) 我不知道在设置gem时我是否可能做错了什么。 我正在开发环境中测试它 我的代码如下 schedule.rb every 1.minutes do runner “Sale.unverified_notifications” , :environment > :development end 我的模型如下 def self.unverified_notifications logger.info Time.now.to_s end 我需要知道我是否做错了什么。 先感谢您

Rails的cron任务的“delayed_job”真的吗?

delayed_job位于http://github.com/collectiveidea/delayed_job delayed_job能否执行cron任务? 比如每天凌晨1点运行脚本。 或者每1小时运行一次脚本。 如果没有,有什么合适的gem可以做到这一点? 是否可以使用浏览器远程监控,并记录成功和错误?

如何检测里面的Rails环境

如果您了解创建cron作业的gem,那么这个问题可能才有意义。 对于我的应用程序,我想在所有环境中使用,包括测试和开发 。 我的schedule.rb看起来像这样: set :output, { :error => “#{path}/log/error.log”, :standard => “#{path}/log/cron.log” } set :environment, Rails.env.to_sym every 5.minutes do rake ‘db:activity:synchronize’ end 但它在Rails.env.to_sym失败了( 同样代表 RAILS_ENV ): /home/marius/.rvm/gems/ruby-1.9.2-p290@uxolo/gems/whenever-0.6.8/lib/whenever/job_list.rb:21:in `eval’: uninitialized constant Whenever::JobList::Rails (NameError) from /home/marius/.rvm/gems/ruby-1.9.2-p290@uxolo/gems/whenever-0.6.8/lib/whenever/job_list.rb:21:in `eval’ from /home/marius/.rvm/gems/ruby-1.9.2-p290@uxolo/gems/whenever-0.6.8/lib/whenever/job_list.rb:21:in `initialize’ from /home/marius/.rvm/gems/ruby-1.9.2-p290@uxolo/gems/whenever-0.6.8/lib/whenever.rb:15:in `new’ from /home/marius/.rvm/gems/ruby-1.9.2-p290@uxolo/gems/whenever-0.6.8/lib/whenever.rb:15:in `cron’ from /home/marius/.rvm/gems/ruby-1.9.2-p290@uxolo/gems/whenever-0.6.8/lib/whenever/command_line.rb:41:in `run’ from /home/marius/.rvm/gems/ruby-1.9.2-p290@uxolo/gems/whenever-0.6.8/lib/whenever/command_line.rb:8:in `execute’ from /home/marius/.rvm/gems/ruby-1.9.2-p290@uxolo/gems/whenever-0.6.8/bin/whenever:38:in `’ from […]

如何在Rails项目中运行日常任务/脚本?

我正在为我的应用程序开发计费系统,但我不确定如何设置每天运行的脚本,一个用于发送付款提醒(电子邮件),另一个用于降级尚未续订的订阅。 关于如何做到这一点的任何提示? 我需要注意的任何陷阱? 我可以使用的任何gem? 我已经完成了大部分购买方面,所以我不是在寻找像paypal_recurring或条纹这样的gem – 只需要处理付款提醒和处理过期的帐户。

每当–Cron不工作? 没有权限

“我已经和我们一起建立了一个cron,但它不起作用。 我试图手动运行该命令,我得到错误/bin/bash: bin/rails: Permission denied 。 这里的cron命令是什么样的: /bin/bash -l -c ‘cd /var/www/domain.net/main && bin/rails runner -e production ‘\”User.weekly_update’\”’ 我也尝试以root身份运行此命令,但我得到了相同的消息。

在Heroku上每分钟安排一个工作Rails 3.1

我想在Heroku上每分钟运行一个任务来检查是否满足条件以超时某些用户任务。 我每小时只能运行一次Heroku cron作业,那么设置这样的定时任务的最佳方法是什么。 我在Heroku上使用Rails 3.1。