草庐IT

whenever

全部标签

ruby-on-rails - 将 Whenever gem 与 Rails Active Job 一起使用来安排批处理电子邮件作业

我正在尝试了解如何正确使用它,或者我是否将它用于正确的事情。我创建了一份工作:classScheduleSendNotificationsJob我想在每天的固定时间执行这项工作。工作轮询以查看是否有任何未完成的通知,将它们分批处理,然后将它们发送给用户,以便用户可以收到一封包含一堆通知的电子邮件,而不是一堆电子邮件,每封电子邮件有一个通知。我尝试使用延迟作业来执行此操作,但它似乎并非旨在定期安排某些内容。所以现在我正在尝试使用whenevergem来完成它,但我似乎无法弄清楚如何正确设置它。这是我的config/schedule.rb文件中的内容:every1.minutedorunn

ruby-on-rails - Rails Whenever Gem 如何在 Controller.rb 文件中运行特定方法

我希望每分钟在我的controller.rb文件中运行一个特定的方法。我正在考虑将whenevergem用于rails,但我对如何执行此操作感到有些困惑。目前在schedule.rb我有:every1.minutesdorunner"Server.update_all_servers"end我不确定runner命令到底做了什么。有人可以解释一下这个命令到底做了什么吗?根据我的理解,它调用了一个Model.ModelMethod,但我需要在application_controller.rb中调用一个名为update_all_servers()的方法。是否有可能做到这一点?或者我是否必须将

ruby-on-rails - Ruby on Rails whenever + capistrano v3 集成

在我的项目中,我使用whenever+capistrano,所以这是我的Capfile:require'capistrano/setup'require'capistrano/deploy'require'capistrano/rvm'require'capistrano/bundler'require'capistrano/rails/assets'require'capistrano/rails/migrations'require'whenever/capistrano'Dir.glob('lib/capistrano/tasks/*.cap').each{|r|importr}

ruby-on-rails - Capistrano + Whenever gems - bin/rails : Permission denied

我配置了一个可以正常部署和工作的生产环境。虽然我遇到了一个我想不通的附属问题。我正在运行Whenevergem来执行几个cron作业,Whenevergemcapistrano实现使它们正确部署并且脚本正在执行。尽管在whenever.log中我收到以下输出:/bin/bash:bin/rails:Permissiondenied该脚本使用运行程序从RSS提要进行更新,尽管我使用Capistrano部署到新服务器,但它在以前的生产部署中没有发生任何事故。我四处搜索并找到了这个question,尽管每次部署时,我都必须使bin/rails可执行(由于来自Capistrano的日期戳部署)

ruby-on-rails - 使用 Whenever 执行 cron.job 时 bundle 出错

我有以下schedule.rbevery1.minutedorunner"User.persist_things"end但是查看我的log/cron.log文件,输出如下:/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in`gem_original_require':nosuchfiletoload--bundler/setup(LoadError)from/System/Library/Frameworks/Ruby.frame

ruby - sidekiq+whenever+unicorn uninitialized constant ClassWorker 生产环境

我使用Rails4,sidekiq2.13.1,cron脚本每2分钟运行一次。第一次执行期间没有错误,但接下来的所有错误。我只在生产环境中遇到这个错误。我的worker位于app/workers中。我在application.rb中通过以下字符串将其包含在内:config.eager_load_paths+=%W(#{config.root}/app/workers)错误:2013-08-15T12:34:05Z31102TID-oh1d0WARN:{"retry"=>true,"queue"=>"default","class"=>"AllGlobalWorker","args"=>

ruby - 如何使用 whenever gem 在凌晨 2 点和下午 2 点运行任务?

目前我运行这段代码:every1.day,at:'2am'dorake'data:load_direct_monitoring_statistics'endif@environment=='production'every1.day,at:'2pm'dorake'data:load_direct_monitoring_statistics'endif@environment=='production'此代码按预期工作,但是:有没有办法只使用一个cron声明来涵盖这两种情况? 最佳答案 根据在任何时候你应该能够传递数组的存储库中的测试