在 rufus 调度程序中调用 rake 任务

发布于 2024-10-04 22:19:52 字数 330 浏览 3 评论 0原文

我正在尝试在调度程序中运行 rake 任务,如下所示,

scheduler = Rufus::Scheduler.new
scheduler.start

schedule.schedule(chron) do
puts "in scheduler"
begin
ENV['RAILS_ENV']='production'
Rake::Task['connection'].invoke
rescue Exception => e
puts "error"
end

rake 任务仅在第一次执行。但调度程序似乎在给定的时间间隔内运行。

任何帮助表示赞赏。

I am trying to run a rake task inside a scheduler like below

scheduler = Rufus::Scheduler.new
scheduler.start

schedule.schedule(chron) do
puts "in scheduler"
begin
ENV['RAILS_ENV']='production'
Rake::Task['connection'].invoke
rescue Exception => e
puts "error"
end

the rake task is executed only for the first time. but the scheduler seem to be running in the given interval.

Any help appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

臻嫒无言 2024-10-11 22:19:52

Rake 是一个依赖处理器。除非您另有说明,否则它只会运行一次任务。请参阅http://rake.rubyforge.org/classes/Rake/Task.html# M000115 您需要

def force_invoke(task)
  task.reenable
  task.invoke
end

Rake is a dependency processor. It runs a task only once unless you tell it otherwise. See http://rake.rubyforge.org/classes/Rake/Task.html#M000115 You need to

def force_invoke(task)
  task.reenable
  task.invoke
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文