【发布时间】:2017-06-15 11:02:39
【问题描述】:
我有一些关于延迟工作的疑问。我现在已经在开发中配置了这两个 gem。但我不确定我是否需要使用它们,或者即使我使用它,我应该如何在服务器中使用它。
gem 'delayed_job_active_record'
gem 'daemons', '~> 1.2', '>= 1.2.3'
我有一个简单的应用程序,它每年两次向大约 300-400 名客户发送电子邮件。对于这么少的电子邮件,是否有必要使用延迟工作宝石?我们的服务器在一年中的这两次都不忙。
如果我使用延迟作业,我必须先启动守护程序。在开发中,我这样做
bundle exec rake jobs:work。由于此过程将始终在服务器中运行。这会导致性能问题吗?我是否必须使用其他服务器或其他东西才能运行延迟作业流程?最后,如何在生产环境中运行命令
bundle exec rake jobs:work。目前,我打开一个终端并运行命令。但我认为如果我关闭终端,该过程也会停止。那么我应该如何启动它才能让它在后台运行呢?
【问题讨论】:
-
这只是我的看法,但我不认为它是矫枉过正,我不认为它会导致任何性能问题。您可以调整 delay_job 以仅每 5 或 10 分钟或其他时间轮询一次作业,而不是使用可能更频繁的默认值,从而最大限度地减少对服务器的影响,因为这似乎不是关键任务操作。