问题标签 [rufus-scheduler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1307 浏览

ruby-on-rails - 启动 Rails 控制台时不运行 rufus-scheduler 的最佳方法

我使用 rufus-scheduler 运行一些周期性任务,但是当我只想测试一些东西时,它们在 rails 控制台中非常烦人。自动启动控制台时,是否有一种简单的方法可以停止所有 rufus-scheduler 任务?

在启动调度程序的代码中,如果我可以检查我只是在 Rails 控制台中,我无法运行它们,或者如果有办法在控制台启动时运行一些回调,我也可以在那里关闭它们。

谢谢

0 投票
1 回答
4345 浏览

ruby-on-rails - 如何在 Rails 中实现 rufus-scheduler?

计划正在运行但错误“未定义的方法'do_something'”。什么不对?

使用导轨 3。

在 config/initializers/task_scheduler.rb 中:

模型/job_thing.rb:

谢谢

0 投票
1 回答
1612 浏览

ruby - Rails 3 中的 Rufus 调度程序实现

我有一个在生产中使用 apache + 乘客运行的应用程序。目前,我在初始化程序中初始化 rufus 调度程序,并在该初始化程序中注册从数据库读取的作业。apache/passenger 的工作方式是它创建应用程序的多个进程/实例,这会导致调度程序被多次初始化并会调度重复的作业。

实现这个以使调度程序成为单例对象的正确方法是什么?

0 投票
2 回答
4258 浏览

ruby-on-rails - Rake 任务和 Rails 初始化器

对 Rails 有点陌生,所以请配合我。我现在正在做的是后台处理一些使用 Resque 的 Ruby 代码。为了启动 Rescque rake 任务,我一直在使用(在 heroku 上),我有一个 resque.rake 文件,其中包含推荐的代码附加到 heroku 的神奇(或奇怪)线程架构中:

因为我需要访问 Rails 代码,所以我参考 :environment。如果我在 heroku 的背景中设置了至少 1 个工人测功机,我的 Resque 做得很好,被清除了,一切都很开心。直到我尝试自动化的东西......

所以我想改进代码并每隔一分钟左右自动用相关任务填充队列。这样做(不使用 cron,因为 heroku 不适合 cron),我声明了一个名为 task_scheduler.rb 的初始化程序,它使用 Rufus 调度程序来运行任务:

事情似乎在一段时间内工作得很棒……然后 rake 过程就莫名其妙地停止从队列中提取。队列变得越来越大。即使我有多个工人测功机在运行,它们最终都会感到疲倦并停止处理队列。我不确定我做错了什么,但我怀疑我的 rake 任务中对 Rails 环境的引用导致 task_scheduler.rb 代码再次运行,从而导致重复调度。我想知道如果有人知道如何解决这个问题,我也很好奇这是否是 rake 任务停止工作的原因。

谢谢

0 投票
1 回答
266 浏览

ruby - Ruby:从 Rufus-Scheduler 理解哈希

我正在编写一个使用 Rufus-Scheduler Ruby Gem 的应用程序。这是显示所有正在运行的作业时返回的哈希的样子......

我很难处理这个问题。我尝试将其转换为 JSON 字符串,但我的应用程序死机并Illegal Instruction在错误日志中显示错误。

我试过用 a 迭代它,.each但它只返回Rufus::Scheduler::EveryJob_2154902980 => #

关于如何解析这个的任何想法?

0 投票
4 回答
3030 浏览

ruby-on-rails - 每当 cron 在 Windows 中运行

cronjobs 的新手和类似的东西,以前从来没有做过,所以现在我试着在 RailsCasts 上看到它之后,把它用作插件来弄脏我的手。因此,我正在尝试为我的 Ruby 应用程序运行 cron 作业,但它似乎无法正常工作,可能是因为代码的原因,或者可能是因为我使用的是 Windows 7?

这是我的服务器模型中的代码

这是我的 schedule.rb 文件中的代码,其中包含 cron 作业

我尝试了这两种方法,(我最近使用的是后者,我self.ping在服务器模型中创建了该方法。

所以当我whenever在我的 rails 目录中运行时,这是我得到的输出:

1st)有趣的是,即使我在代码中说明了环境似乎也没有改变为开发。2nd) crontab 文件没有更新(我什至不知道是否存在一个开始?)

所以我尝试通过运行来创建一个 crontab 文件whenever -w ping,但结果是

所以这是我的问题,任何帮助将不胜感激。

编辑:好的,我决定使用 rufus-scheduler 来经常更新我的服务器列表。我测试了每分钟在表中创建一个新服务器是否可行,这似乎可行。但是,因为我无法阻止它创建服务器,所以我将它从捆绑包中删除,删除了“task_scheduler”文件,然后重新安装它并像以前一样完成所有操作。但是,当我现在尝试运行服务器时,出现以下错误:

task_scheduler中的代码如下:

不确定要使用这两种方法中的哪一种,因此我将第一种方法注释掉了。帮助将不胜感激。提前致谢

编辑 好的,终于解决了,只好把require 'rubygems' require 'rufus/scheduler'我的代码放在上面。现在它工作正常:-)

0 投票
2 回答
1309 浏览

ruby-on-rails - 时区的 Rufus-scheduler 变量 - ruby​​ on rails

我正在运行一个使用 rufus-scheduler 在中午向所有用户发送每日电子邮件的 Rails 应用程序,但是,它目前在中午为应用程序时区“台北”发送电子邮件。

我在注册时捕获用户时区,但我无法将变量放入 rufus-scheduler 任务中

我想我只是不确定在哪里定义 @time_zone 变量,以便 rufus 正确读取它。

提前致谢!

0 投票
1 回答
414 浏览

ruby - 在多个节点上运行 rufus 调度程序问题?

在 Rails 3 应用程序中运行 rufus-scheduler 没有任何问题。

但是由于我的应用程序在节点集群 app1.myapp.com - app2.myapp.com 中运行,因此 rufus-scheduler 正在运行作业 app(N) 次。

如何让它只在一台服务器上运行?

0 投票
3 回答
2846 浏览

ruby-on-rails - Rufus-scheduler 仅在生产环境中运行一次

我每天都在使用 rufus-scheduler 从 rails 服务器运行一个进程。出于测试目的,假设每 5 分钟一次。我的代码如下所示:

在 config/initializers/task_scheduler.rb

我也尝试过 cron 格式:

例如,让进程在每小时的 50 分钟后每小时运行一次。

令人生气的是它可以在我的本地机器上运行。该过程将定期运行并且正常工作。只有在我部署到生产的应用程序上,该过程才会运行一次,而不是重复。

ps faux 显示 cron 正在运行,passenger 正在处理 rails 进程的启动,该站点已再次被 ping,因此它知道应该刷新,并且生产显示代码中的更改。唯一不同的是,在没有警告或错误的情况下,计划任务不会重复。

帮助!

0 投票
1 回答
228 浏览

rubygems - 如何在 rufus 中使用 scheduler.at?

我可以在rufusscheduler.cron中使用&但是.scheduler.inscheduler.at

我根据作者的示例(scheduler.at 'Thu Mar 26 07:31:43 +0900 2009')在下面进行了尝试。

  • scheduler.at 'Nov 08 09:45 +1000 2011' (+1000 因为我在悉尼)
  • scheduler.at '2011 年 11 月 8 日星期二 09:50 +1000'
  • scheduler.at '2011 年 11 月 8 日 09:45'

但没有任何效果。有什么建议么?