ruby-on-rails - 每当 gem 时,schedule.rb 中的配置文件与 Rails 一起使用?

标签 ruby-on-rails configuration cron whenever

我的 Rails 应用程序的/config 文件夹中有一个名为 config.yml 的文件。 我还有一个初始化程序:config/initializers/load_config.rb,其中包含以下代码:

APP_CONFIG = YAML.load_file("#{RAILS_ROOT}/config/config.yml")

我正在使用每当 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 文件中(而不是对值进行硬编码)?

谢谢!

最佳答案

编辑 schedule.rb 文件以在顶部添加 require 'yaml' 语句。然后添加初始化程序中的行:

APP_CONFIG = YAML.load_file("#{RAILS_ROOT}/config/config.yml")

或者,您可能只需要直接加载 load_config.rb 文件。那么你应该可以走了。

关于ruby-on-rails - 每当 gem 时,schedule.rb 中的配置文件与 Rails 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2534622/

相关文章:

scala - 拒绝理解

mysql - 如果 mysql 服务已关闭,则以编程方式启动它

ruby-on-rails - 如何将一个变量分配给另一个变量而不互相引用?

ruby-on-rails - 如何编写范围和存在 : true RSpec Rails 的 validates_uniqueness_of 测试

ruby-on-rails - 如何使用具有多对多关系的事件记录信誉 gem

ruby-on-rails - 有没有很好的引用(开源)Rails NoSQL应用程序?

perl 配置和 block

configuration - 更改基本目录

php - while 循环在 php 中不起作用 脚本在 Crontab 中运行

node.js - Nodejs 每天午夜零一分钟创建一个 cron 任务