问题标签 [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 - 如何使用 Eclipse 在客户端 PC 上运行/调试仪表板
我正在尝试通过dashing创建一个用于工作的仪表板。我设置了一个 openSUSE 服务器(仅命令行,没有 X 服务器),并且在其上成功运行了 dashing。我希望能够使用我的工作 Windows 7 PC 来配置基于 ruby 的作业脚本等。我用 Ruby 设置了 Eclipse,在 Windows 上安装了 Ruby,并在 eclipse 中配置了调试器。Git 也设置在服务器上,用于 dashing 文件夹。我对我的方法有两个问题:
问题 1: 现在,我可以在 ruby 作业中配置断点并调试我的变量等,但是当调试器到达 SCHEDULER 部分(参见下面粘贴的代码)时会抛出一个错误,指出它是一个“未初始化的常量”。我猜 Eclipse 不明白如何运行/调试特定的破折号代码;显然 dashing 使用 rufus-scheduler。如何让 Eclipse 运行和/或调试我的仪表板?
使用 rufus-scheduler 的 dashing 中的 ruby 作业示例,来自 dashing 网站:
问题 2: 目前我将代码从 Windows PC 移动到 openSUSE 的方式是通过 git。这意味着当我想测试任何更改(简单或复杂)时,我必须在客户端提交到 git,然后推送到服务器上的 git 分支。这意味着我的提交历史将充满测试更改。有一个更好的方法吗?(我猜测解决这个问题的唯一方法是在我的客户端 PC 上创建一个测试 Web 服务器)
感谢您的任何帮助,您可以提供。
ruby - Rufus调度程序:cron中的first_in选项未知
我正在尝试使用 Rufus Scheduler(在 Dashing 中)来安排 cron 作业,但也让它在服务器启动时运行一次。我正在按照这里的自述文件执行以下操作:
当我尝试这样做时,我的工作中出现以下错误:
有没有人遇到过这个?
ruby - Ruby 中的大规模调度
我需要一个用于大型动态任务集合的调度程序。目前我正在研究resque-scheduler、rufus-scheduler和Clockwork。我将不胜感激有关选择使用哪一个(或什么替代方案)的建议。
一些细节:
- 有大量任务(最多 100K)需要定期执行。
- 最短的执行周期为1h。
- 新任务可能会不时出现。现有任务可能会被更改或删除。
- 调度延迟最小化在这里不是关键任务(可扩展性和可持续性是最重要的)。
- 任务执行不是一个繁重的操作,并且可以很容易地并行。
总而言之,我需要像 cron 这样的 Ruby 项目,它可以处理大量动态变化的任务集合。
更新:我花了一天时间尝试调度库,现在我想简要总结一下新获得的经验。
我已经不再关注 Clockwork 和 resque-scheduler 库,因为它们是更成熟的项目,具有更详细的文档。Resque-scheduler 基于 rufus-scheduler 而 Clockwork 受其启发,两者都可用于我正在寻找的解决方案。
两者都是独立的服务,应该在单独的进程中运行,可以处理几乎无限量的计划为单次或重复执行的任务。任务在线程内执行。
发条优点:
- 它能够从数据库(通过 ActiveRecord 或任何任意来源)加载计划任务。
- 它还可以通过轮询数据库中的数据更新来动态更新计划任务。
发条的缺点:
- 数据库轮询是一个潜在的瓶颈。
- 轮询间隔为 1 分钟(加上重新调度所有任务的时间),这有点太慢了。
- 计划任务寻址(取消计划或更改)是未记录的,这就是为什么使用此功能对我来说似乎是一种黑客行为。
我已经为 Clockwork 实现了一个替代的 Manager 类(这是控制调度的 gem 的核心部分),以允许通过 ZeroMQ 消息进行调度控制。所以我项目中的主要服务可以向调度器发送命令,比如“每天运行这个”,或者“取消调度任务#10”,调度器会立即执行每个请求。
我对 resque-scheduler 的经验较少,但在这一点上,它看起来是一个更好的解决方案。
resque-scheduler 优点:
- 基于 Redis 的持久性。该手册声称可以在服务重新启动后挽救计划任务。
- 使用干净的 API 进行动态调度。您只需调用
Resque.remove_schedule(name)
以删除特定任务。 - 网页界面。不太重要,但很高兴拥有。
resque调度程序:
- 它需要安装 Redis。
可能会出现别的东西,仔细看后,但此刻没有别的东西。
这就是我现在所拥有的。顺便说一句,我在 GitHub 上发布了许多与调度相关的 Ruby gem 的链接。
ruby-on-rails-4 - 配置 Resche 计划以延迟在特定时间发送邮件
很抱歉,如果这是重复的,我尝试搜索这个,但不确定要使用什么搜索词并且没有真正找到任何东西
我目前正在研究如何在服务器启动我的应用程序时设置待办事项的时间表。我想做的功能就像每周/每月向所有用户发送邮件。问题是,如果需要发送的邮件数量巨大,几个小时就无法发送出去(我不喜欢在深夜给用户发邮件);它将在第二天早上暂停并继续这项工作....
就我搜索而言,我发现了两个宝石:resque-scheduler 和 rufus-scheduler。我真的不知道我应该专注于挖掘哪一个。
谁能指出我去哪个大方向?其中哪一个具有内置功能可以完成这样的任务?还是我需要自己制定时间表?...
ruby - Rufus-Scheduler、DaemonKit 和陷阱
我用Rufus-Scheduler DaemonKit守护了一个 Ruby 调度程序脚本(使用 Rufus),我试图捕获 TERM 或 INT 信号,让应用程序在退出前尝试保存状态。
DaemonKit 有自己的 trap_state(私有)方法,它在守护程序脚本之前捕获信号,所以即使我有这个块,它也没有做太多。
作为副作用(可能是我的实现中的错误?)在 sigterm 之后 .rufus 锁定文件仍然存在
现在 ctrl-c 上的行为是这样的
start 方法是一个非常简单的时间表
ruby-on-rails - 将 rufus-scheduler 调度到 heroku 上的 worker dyno
我想使用 rufus-scheduler 来运行后台任务。我目前有一个用于 Sidekiq 的工作人员测功机,理想情况下只是想安排该过程。根据https://github.com/jmettraux/rufus-scheduler#so-rails上的文档测试 rufus-scheduler
它出现在 web 和 worker 上,我希望它使用 worker 进程。我将如何实现这一目标?
示例输出为:
ruby-on-rails - 如何使 Rufus-scheduler 反映文件更改
我在我的 ROR 应用程序中使用 Rufus-scheduler gem 在后台发送电子邮件。我的设置是这样的:
我在.send_some_email
类方法中所做的任何更改都不会反映在 Rufus-scheduler 任务中,我该如何解决这个问题?我不想每次更改都重新启动服务器!
ruby-on-rails - 我如何使用 rufus-scheduler 和 Rails 4 调用动态调度程序来调用方法以在一天内多次获取推文
我需要在固定时间(例如下午 1 点、下午 3 点、上午 9 点)调用 tweeter api。我正在使用 twiter gem 和 rufus-scheduler
这是我的模型
这是我使用调度程序调用 pull_tweets 的控制器
它工作得很好,但是我如何设置多个时间,比如凌晨 1 点、下午 3 点、上午 9 点,以便根据用户输入来安排任务?
ruby-on-rails - 当我们有多个 EC2 实例时 rufus-scheduler 出现问题
我已经在两个 EC2 实例上部署了 rails 应用程序。我已经使用 rufus-scheduler 安排了作业,每 24 小时运行一次以发送一些电子邮件。
但是调度程序在两个实例上分别运行。
我只需要在一个实例上运行调度程序。那么你能帮忙解决这个问题吗?
谢谢
puma - Puma 2.9.2 和 rufus-scheduler 3.0.3 不兼容
我在Ruby on Rails 4.1.4网络应用程序中使用 Rufus Scheduler 3.0.3,它与 Unicorn 配合得很好。我搬到了 Puma,这很棒,但我意识到 Rufus 没有与 Puma 合作(守护进程)。
我已阅读此问题 #183(评论)https://github.com/puma/puma/issues/183#issuecomment-59386038 ,该问题已针对早期版本关闭,但它仍然无法正常工作,我不清楚是否已经有一个修复它。
我不知道在此期间是否有解决方法。
更新:显示的日志不多,我的 rufus 调度程序任务在与 Unicorn 一起运行时正在运行,但如果我将服务器更改为 Puma,它不会在我的笔记本电脑上运行任何自动化任务。即使没有任何日志可以显示。
我只是添加我当前的 Rufus 调度程序文件:
task_scheduler.rb:
我是否缺少任何配置?
在 Puma 方面,我只有这个配置文件 config/puma/development.rb ,只有这个:
我没有设置任何工人等...