在Rails中启动一个延迟的作业会创建两个进程

时间:2016-04-14 10:39:56

标签: ruby-on-rails delayed-job

最初我没有延迟作业的进程(如htop所示),然后当我运行命令RAILS_ENV=production bin/delayed_job start时,我有一个延迟的作业工作者,如tmp / pids中的文件所示。但是,htop表示现在有两个进程,如下图所示。 enter image description here

那为什么会这样呢?另一个延迟的工作消耗内存,我没有太多的东西!但是它的TIME +为零,所以它没有消耗时间,所以这意味着什么?

1 个答案:

答案 0 :(得分:1)

我想这些实际上不是两个进程,而是单个进程的两个线程。您可以通过在H中键入大写htop键来隐藏线程。如果你只看到一行,你就会证明这是一个单一的过程。

延迟作业可能有一些主线程来管理工作线程(或者只是设置中的单个工作线程),监视队列并在需要时运行工作线程。线程share most of the memory所以我不认为资源消耗问题来自htop中的两行。