问题标签 [backgroundrb]

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 投票
2 回答
510 浏览

ruby-on-rails - backgroundrb 定时任务结束

我有一个 backroundrb 计划任务,需要很长时间才能运行。但是,似乎该过程仅在 2.5 分钟后就结束了。

我的 background.yml 文件:

进程运行时,我在服务器上的活动为零。(这意味着我是服务器上唯一一个看着日志文件做他们的事情直到进程突然停止的人。)

有任何想法吗?

0 投票
1 回答
1014 浏览

ruby-on-rails - 在 Rails 应用程序中初始化 DRb 服务的正确位置在哪里?

我在 Rails 应用程序中使用 DRb 来卸载 Rails 进程之外的昂贵任务。在使用 DRbObject.new 初始化客户端存根之前,需要使用 DRb.start_service 初始化 DRb 服务。

在模型或控制器中执行此操作似乎会使线程处于不确定状态。当我退出杂种时,它说:

Reaping 1 threads for slow workers because of 'shutdown' Waiting for 1 requests to finish, could take 60 seconds.

在 environment.rb 中初始化服务似乎可以正常工作,但有一个很大的警告:我也在使用 backgroundrb 和一些 rails 工作人员。当它们初始化时,它们运行 environment.rb 并再次由于双重初始化而导致问题。

在客户端调用 DRb.start_service 的正确位置在哪里?或者,有没有办法测试初始化​​,这样我就可以避免为同一个过程做两次?

0 投票
1 回答
240 浏览

ruby-on-rails - backgroundrb thread_pool.defer 方法记录器输出到哪里去?

似乎由于线程问题 logger.warn (这就是我测试的)没有产生任何输出?我的代码与此类似:

任何想法?

0 投票
4 回答
1263 浏览

ruby-on-rails - 每分钟运行的邮件程序的最佳 Rails 解决方案

我有一个应用程序,它每分钟检查一次数据库,以查找当时应该发送的任何电子邮件。我正在考虑将其设为每分钟由 cron 作业运行的 rake 任务。会有更好的解决方案吗?

根据我的阅读,这并不理想,因为 rake 必须每分钟加载整个 rails 环境,这变得很昂贵。

想法?

谢谢。

0 投票
1 回答
267 浏览

ruby-on-rails - 如何编写 rake 任务来触发 BackgrounDRb 任务?

我有一个 BackgrounDRb 工作人员设置为每 15 分钟运行一次它的“同步”方法。然后,说,我想运行一次刚才的方法。我试图将其包装在 rake 任务中,如下所示:

但这不起作用。它使用各种未定义的常量等等来解决问题。我没有尝试要求杂项。gems 生成了一个可运行的 rake 任务。:(

所以,问题是如何从 rake 任务中触发 BackgrounDRb 任务?

0 投票
1 回答
284 浏览

ruby-on-rails - 如何防止 backgroundrb 启动同一任务的多个副本?

比如说,我有一个工作人员使用 backgroundrb 的 cron 调度功能设置为每 15 分钟运行一次。然后,比如说,如果一个 worker 实例的运行时间超过 15 分钟,我不希望第二个 worker 由 backgroundrb 并行启动。我该如何做到这一点?

0 投票
1 回答
81 浏览

ruby-on-rails - 在 BackgroundRB 崩溃的情况下如何恢复取消(采取)的工作?

问题:我们在 Rails 应用程序的 BackgroundRB 中运行几秒钟到几分钟的作业。但是,当我们部署新代码并在执行任务时重新启动 BackgroundRB 时会发生什么?BackgroundRB 似乎没有接受任何“已采取”的任务,而且我找不到任何可以恢复这些任务的东西。

谁能告诉我BackgroundRB是否以及如何提供恢复backgroundrb宕机时正在运行的任务?

我问这个问题的原因是,在作业结束时,一个新的作业在未来的任意时间排队。

0 投票
3 回答
934 浏览

ruby-on-rails - 使用 Kernel#fork 作为后台进程,专业人士?缺点?

我想了解一下使用 fork{} 从 rails 应用程序“后台”处理进程是否是个好主意......

从我收集的 fork{my_method; Process#setsid} 实际上做了它应该做的事情。

1) 创建另一个具有不同 PID 的进程

2) 不会中断调用过程(例如,它会继续等待 fork 完成)

3) 执行子进程直到它完成

..这很酷,但这是个好主意吗?叉子到底在做什么?它是否会在内存中创建我的整个 rails mongrel/passenger 实例的重复实例?如果是这样那将是非常糟糕的。或者,它是否以某种方式在不消耗大量内存的情况下做到这一点。

我的最终目标是取消我的后台守护程序/队列系统,转而支持分叉这些进程(主要是发送电子邮件)——但如果这不能节省内存,那么这绝对是朝着错误方向迈出的一步

0 投票
1 回答
269 浏览

ruby-on-rails - Rails backgroundRB插件需要对其进行调度并排队到数据库以实现持久性

我正在尝试执行以下操作:

  1. 每 15 分钟运行一个 Worker 和其中的一个方法
  2. 在数据库表 bdrd_job_queue 中有一个上次运行时的作业日志。

我做了什么:

我的 backgroundRB.yml 文件中每 15 分钟有一个时间表

方法调用有persistent_job.finish!调用,但是不起作用,因为persistent_job对象为nil。

如何确保它已登录数据库,但仍从 backgroundRB.yml 自动安排?

0 投票
1 回答
145 浏览

ruby-on-rails - 我可以在测试期间禁用一些 BackgroundRb 工作人员吗?

我有一个 BackgroundRb 工作人员负责发送一些电子邮件。

我应该如何告诉这个工人在测试期间不要跑步?该框架是否包含一些我可以使用的配置参数或存根工作程序?