簡體   English   中英

盡管我不斷謀殺,Delayed_Job不會死

[英]Delayed_Job won't die despite my incessant murdering

我最近在我的after_restart階段添加了delay_job rap。 像這樣:

system "script/delayed_job stop"
system "script/delayed_job start -n 3"

多數情況下有效。 直到今天我遇到一點障礙。 我發現即使我反復手動執行script/delayed_job stop后,delay_job實例仍在運行。

我仍然得到這個:

user@ip-10-126-6-125 /data/HQ_Channel2/current $ ps aux | grep del
user   11034  0.0  3.4  74016 61964 ?        S    Dec05   0:19 delayed_job.0                     
user   11036  0.0  3.5  73660 63516 ?        S    Dec05   0:21 delayed_job.1                     
user   11038  0.0  3.6  73980 65256 ?        S    Dec05   0:17 delayed_job.2

我試圖通過script/delayed_job stop關閉它是否不合適?

我知道如何殺死它的唯一其他方法是使用kill -9 ,但這不是過度殺傷力嗎? 而且,我將如何動態地實現它?

我有類似的問題。

查看Engine Yard的delay_job配方 ,特別帶有啟動和停止命令的模板 它在Engine Yard實例上的/engineyard/bin/dj使用腳本。

<% (@num_workers || 1).times do |num| %>
  check process <%= @worker_name %>_<%= num %>
    with pidfile /var/run/engineyard/dj/<%= @app_name %>/dj_<%= @worker_name %>.pid
    start program = "/engineyard/bin/dj <%= @app_name %> start <%= @framework_env %> <%= @worker_name %>" with timeout 60 seconds
    stop program = "/engineyard/bin/dj <%= @app_name %> stop <%= @framework_env %> <%= @worker_name %>" with timeout 60 seconds
    if totalmem is greater than 300 MB then restart # eating up memory?
    group dj_<%= @app_name %>
<% end %>

調用stop腳本時,它首先使用kill -15 (TERM),等待默認為60秒的寬限期,如果它仍然存在,則使用kill -9

如果可以在以后減少維護,請使用Engine Yard的腳本(就此而言為配方)。 但是,如果對您不起作用,則可以基於這些概念來編寫腳本。 我在升級到Rails 3時遇到了一些問題,因此它可能對您不起作用。 我剛剛聯系了Engine Yard,但我懷疑這對他們來說是否是高度優先。 也許如果您也與他們聯系,那將會改變。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM