ruby-on-rails – 如何使用Rails钟表工具宝石来运行耙子任务?
发布时间:2020-12-16 21:38:22 所属栏目:百科 来源:网络整理
导读:从发条机构调用耙机任务的语法是什么?我已经尝试了各种语法,似乎没有任何效果. (由于Heroku的支持,我特别关注发条.) 这是我的clock.rb,使用与宝石使用相同的语法: module Clockwork puts "testing clockwork!" every(30.seconds,'Send Messages') { rake '
从发条机构调用耙机任务的语法是什么?我已经尝试了各种语法,似乎没有任何效果. (由于Heroku的支持,我特别关注发条.)
这是我的clock.rb,使用与宝石使用相同的语法: module Clockwork puts "testing clockwork!" every(30.seconds,'Send Messages') { rake 'scheduler:send_messages' } end 这里是我的rake任务在scheduler.rake中: task :send_messages => :environment do puts "rake task run successfully!" end 当我开始发条时,会发生什么事情: $clockwork lib/clock.rb testing clockwork! I,[2012-07-16T14:42:58.107245 #46427] INFO -- : Starting clock for 1 events: [ Send Messages ] I,[2012-07-16T14:42:58.107364 #46427] INFO -- : Triggering 'Send Messages' attempting to run rake task! E,[2012-07-16T14:42:58.107437 #46427] ERROR -- : undefined method `rake' for Clockwork:Module (NoMethodError) 每30秒运行一次.你可以看到,clock.rb执行成功.但是我无法为我的生活找出运行耙子任务的语法.钟表自述没有帮助,不幸的是: https://github.com/tomykaira/clockwork 解决方法
耙子不是一种方法,所以你不能像这样调用它.
你可以外壳出来并调用它,像 every(30.seconds,'Send Messages') { `rake scheduler:send_messages` } 或者使用heroku API调用一个新的独立进程.这是我现在所喜欢的方法: Heroku::API.new.post_ps('your-app','rake scheduler:send_messages') Heroku :: API可从heroku.rb:https://github.com/heroku/heroku.rb获得 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |