问题标签 [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.
ruby-on-rails - Rails rufus-scheduler 作业返回 nil
我正在使用 rufus-scheduler 通过以下代码在某个日期安排作业:
然后我将该工作的 ID 保存在我的帖子类中
但是,如果我尝试通过调用再次访问该作业:
我收到一个错误,因为作业为零。如果我尝试通过调用来查看调度程序的工作:
我得到一个空白数组。谁能解释为什么我的工作没有妥善保存/被跟踪?
这是我的调度程序初始化文件。我必须做任何事情来启用单例吗?或者它是否自动带有导轨:
ruby - 如何让调度程序和 AMQP 在 Ruby 中正常工作?
我想要做的是开始一个重复的过程,每小时将一批消息发布到我们服务器上的 RMQ 交换。
我有一个类,我们称之为它RMQProcess
,它会触发一个 AMQP 事件循环。我认为我可以使用 rufus-scheduler 来做到这一点:
这有效......除了每次通过循环时,AMQP 通道都会增加(从 2 到 4 到 6 等......)。我认为这意味着通道没有正确关闭,这可能会出现问题。
我想总结一下我的问题,做这种事情的正确(或至少是正确)方法是什么?是否应该在进入调度程序进程之前启动 AMQP 进程,还是我这样做是正确的?我是否必须在 AMQP 事件循环中滚动我自己的调度逻辑?那是我的恐惧,因为似乎必须有更好的方法。任何建议表示赞赏。
作为参考,这里是 start 方法(在这种情况下,我只是使用 RandomText gem 发布无意义的句子):
ruby-on-rails-3 - 由于独角兽工作者,rufus-scheduler 多次运行调度程序
我在我的 rails3 项目的 /configs/initializers/schedule.rb 中设置了调度程序,它工作正常,但它工作了 2 次,我认为这是由于独角兽工人同时执行计划,所以它在我的数据库中创建了两条记录每一次。我检查了我的逻辑并且没问题,并在我的本地机器中输入了一条记录。
我检查了以下但不知道如何阻止多个独角兽工作者执行调度程序?
https://github.com/jmettraux/rufus-scheduler/#advanced-lock-schemes
有人遇到这个问题吗?如果有任何想法,请提供帮助。
谢谢,
P沙阿
ruby-on-rails-3 - Heroku上的rufus-scheduler和delayed_job:为什么要使用worker dyno?
我正在开发一个 Rails 3.2.16 应用程序并部署到一个 Heroku 开发帐户,其中包含一个免费的网络测功机,没有工作人员测功机。我正在尝试确定是否真的需要(付费)工人测功机。
该应用程序发送各种电子邮件。我使用delayed_job_active_record 将它们排队并将它们发送出去。
我还需要每分钟检查一次通知计数。为此,我正在使用 rufus-scheduler。
rufus-scheduler 似乎能够在Heroku web dyno 中运行后台任务/线程。
另一方面,我在delayed_job 上可以找到的所有内容都表明它需要一个单独的工作进程。为什么?如果 rufus-scheduler 可以在 web dyno 中运行守护进程,那么为什么延迟作业不能这样做呢?
我已经测试了以下内容来运行我的每分钟任务并处理 delay_jobs,它似乎可以在单个 Heroku web dyno 中工作:
配置/初始化程序/rufus-scheduler.rb
这似乎很明显,我想知道我是否遗漏了什么?这是一种可以接受的方式来处理delayed_job 队列,而不会增加单独的工作进程的复杂性和费用吗?
更新
正如@jmettraux 指出的那样,Heroku 将在一小时后空闲一个不活动的网络测功机。我还没有设置它,但是让我们假设我正在使用各种保持活动的方法之一来防止它进入睡眠状态: 防止 Heroku 空闲的简单方法?.
ruby-on-rails - Rails Custom Rake Task no method error
I am trying to set up a custom rake task for a Rails app that checks to see if your location is within a certain area with street cleaning restrictions. If it is, you can click a button "Remind Me" that will save the user id and restriction id to a reminder table.
I have the Rufus gem running the rake task every 15 minutes.
What I then want is the rake task to check the current time and day with the day and start time that corresponds with the restriction id, and if it is within 30 minutes, it should email the user to move their car.
When I run my current code below, I get this error:
Here's my entire project: https://github.com/mnicole/park_pointer
But the code for the rake task is:
I THINK I'm almost there, but I've been working on this for a few months and am kind of at a loss about the next step.
Thanks in advance!!
-Michele
ruby-on-rails - Ruby on rails 计划任务
这是我第一次安排任务,我不确定最佳实施(或正确实施)。
我的目标: 我用 twilio 设置了一个 ruby on rails 4 应用程序并部署在 Heroku 上。我希望该应用程序每周使用自定义短信(由数据库中的信息编写和创建)自动向我的所有用户发送一次短信。
通过研究,我得出了以下宝石:无论何时和Rufus-Scheduler。
我相信这两个宝石都可以完成工作,但是在阅读 Rufus 的文档后:“请注意:rufus-scheduler 不是 cron 替代品”,我试图了解我想要的是否确实是 cron 工作或一个“鲁弗斯调度程序”。
我留下了以下问题:什么是 cron 作业以及何时使用它?为什么 Rufus-Scheduler 不是 cron 替代品,它有什么不同?我应该使用哪一个?
ruby-on-rails - 运行 rufus-scheduler 时断开数据库连接
我有一个场景,
我每天 12 点在服务器上收集在线设备/单元。为此,我在控制器中编写了工作。目前我使用.at方法进行测试。这是我的控制器代码
调度程序运行良好,但它断开了我的数据库连接。我还检查了我是否只是在那个时候初始化调度程序对象,它也在刹车。它给出了无法连接到 MySQL 服务器错误。重新启动服务器后,它工作正常。
为此,我正在使用rails 3.2.11, ruby 1.8.7 and rufus-scheduler 3.0.7
如何解决此问题。
编辑
现在我在config/initializer/task_scheduler.rb
. 这是我的文件内容
然后在启动服务器后它给了我同样类型的错误
然后我注释了 task_scheduler.rb 文件中的一些行 这是那个文件
并再次启动服务器它工作正常。
编辑 2这是我的 config.ru 文件
ruby-on-rails-4 - Rufus 调度程序与 unicorn 一起运行多次,使用 :lockfile 修复,但如何消除错误消息?
环境:Ubuntu、rails 4、rufus、独角兽、nginx
Unicorn 有多个工作人员,因此上述“每个”任务将每 60 秒执行多次。
根据这个答案: rufus 调度程序每次运行两次 ,我添加了 :lockfile 选项,它可以工作!
但是,从日志来看,似乎'every'任务仍然试图被调用,导致很多错误消息:
我该如何解决这个问题?
提前致谢。
ruby-on-rails - Rufus 调度程序 Timeout::Selenium Specs 错误
我在我的项目中使用 dashing-rails https://github.com/gottfrois/dashing-rails。它在 rails env 负载上运行 rufus-scheduler 作业。
当我运行集成测试(rspec、capybara、selenium-driver)时,由于 rufus-scheduler 超时错误,我的一些测试随机失败。有没有办法在测试环境中消除 rufus-scheduler 错误或完全禁用 rufus?我不喜欢在我的代码库上做 rails_env=test,所以任何其他解决方案都会受到赞赏。
示例错误如下所示:
ruby-on-rails - 从 Rails 应用程序发送短信
我正在使用 Ruby on Rails 构建一个药物提醒系统,以部署在 heroku 上。
使用该系统,医生将输入患者的药物详细信息,包括药物名称、剂量以及时间详细信息,然后应用程序将通过短信通知患者何时该服药。
我已经开发了应用程序,但我被困在短信部分,因为这涉及一遍又一遍地运行一个过程,直到药物的期限结束。
我希望能够从 Rails 应用程序运行脚本,该应用程序将重复查询数据库,并在需要发送短信时将其发送给患者。这在正常的请求/响应 Web 周期中不起作用。
我探索了允许开发人员创建后台作业(如 rufus 调度程序和 resque)的 rubygems,但我似乎无法弄清楚如何去做。
请帮助我接受所有类型的建议。我正在使用 Twilio 发送短信