问题标签 [delayed-job]

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 投票
13 回答
33855 浏览

ruby-on-rails - 如何使用monit监控delayed_job

网上有没有关于如何使用Monit监控 delay_job 的示例?

我能找到的一切都使用God,但我拒绝使用 God ,因为 Ruby 中长时间运行的进程通常很糟糕。(大神邮件列表中最新的帖子?大神内存使用量稳步增长。)

更新: delayed_job 现在带有一个基于这个问题的示例监控配置。

0 投票
1 回答
2012 浏览

ruby-on-rails - 防止delayed_job后台作业在单台服务器上消耗过多CPU

我的 Rails 应用程序有许多任务被卸载到后台进程中,例如调整图像大小和上传到 S3。我正在使用delayed_job来管理这些流程。

这些过程,尤其是缩略图 PDF(使用 Ghostscript)和调整图像大小(使用 ImageMagick)是 CPU 密集型的,并且通常会消耗 100% 的 CPU 时间。由于这些作业与 Web 应用程序本身以及 DB 在同一台(RedHat Linux)服务器上运行,它们可能导致我们的 Web 应用程序无响应。

一种解决方案是让另一台服务器仅在其上运行后台作业。我想这将是最佳解决方案?但是,由于这不是我可以立即做的事情,我想知道是否有可能以某种方式使后台作业以较低的操作系统优先级运行,从而在工作中消耗更少的 CPU 周期?

想法赞赏。

0 投票
1 回答
1368 浏览

ruby-on-rails - 跨多台机器使用delayed_job 和一些需要在本地运行的任务

我正在尝试对 rails 应用程序的各个部分使用delayed_job。问题是,如果我们有多个应用程序实例正在运行,但某些作业(例如处理上传)需要由本地工作人员运行,而其他工作可以通过由任何工作人员运行来受益。

有没有人对拥有本地/非本地工作类型的好方法有任何建议?

0 投票
4 回答
5672 浏览

ruby-on-rails - delay_job 没有使用 rails 环境

关注了这个关于delayed_job和monit的问题

它在我的开发机器上工作。但是,每当我尝试在生产环境中运行时,它都会随着延迟工作日志的关注而死掉

我将在生产环境中运行

仍然出错。我注意到这是由于未设置环境,因此它试图获取开发环境。

为什么环境参数设置不正确?

0 投票
3 回答
1163 浏览

ruby-on-rails - 测试rails中delayed_job插件的优先级

我想测试延迟作业插件中优先级的工作方式。我正在使用 railscasts 的 mailit 应用程序。我想我想发送 100 条高优先级消息和 100 条低优先级消息。我想看看优先级较低的消息是否会按时发送,或者它们会被搁置一旁。

我怎么能做这样的测试。

0 投票
1 回答
678 浏览

ruby-on-rails - 在 Mac 重新启动/启动时启动延迟作业

我有一个简单的应用程序部署到运行 10.5.8 的 Mac mini

每当计算机重新启动时,我将如何重新启动延迟作业工作人员?

0 投票
3 回答
934 浏览

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

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

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

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

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

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

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

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

0 投票
2 回答
1712 浏览

ruby-on-rails - Rails/delayed_job - 想要加载最新版本的作业类

我正在使用 Rails 中的delayed_job 插件进行后台处理,并且我在Rails 中遇到的“敏捷开发”中遇到了麻烦......

如果我遇到错误/想要添加一些新功能,通常在 Rails 中 - 我只需添加一些代码并刷新页面,新代码就会运行。

使用delayed_job,似乎没有重新加载作业类......如果作业失败并且我去修复错误并再次触发作业,旧代码将再次运行。

有什么方法可以让delayed_job 在调用它之前加载最新版本的作业类?

以防万一这与它有关-我知道delayed_job在声明作业/运行作业的方式上有几个不同的选项:

我的作业类位于 Rails 的 lib 目录中,声明如下:

我正在从控制器调用这样的工作:

0 投票
2 回答
195 浏览

ruby-on-rails - Rails 中的批量用户创建——delayed_job 的好用?

在我的 rails 应用程序的管理面板中,我想让管理员能够一次创建多个用户(在数百个范围内)。这对delayed_job 有用吗?

0 投票
2 回答
2420 浏览

ruby-on-rails - 定期延迟的工作

我正在使用延迟作业来管理后台工作。
但是,我有一些需要定期执行的任务。例如,每小时、每天或每周。

现在,当我执行任务时,我会创建一个新任务,以便在一天/一周/一个月内执行。

不过我不是很喜欢。如果出于任何原因,任务没有完全执行,我们不会创建下一个,我们可能会失去任务的执行。

您如何在 Rails 应用程序中管理此类事情(工作延迟)以确保您的常规任务列表保持正确?