resqueprocess id
がフォークプロセス
log
のプロセスIDを保存するとは思いませんが、それは実行しますが、プロセスIDを保存しません。child process forked
ここの139行目で見ることができます
実行中のresqueジョブのプロセスIDをどのように抽出するかという質問に関しては、redisデータ構造を使用してジョブ自体の中でそれを行う方法を考えています。
したがって、以下のコードは、redis hash(running_process
)を使用して作成するジョブの実行アクションでprocess_id
あり、現在のタイムスタンプを使用して現在のコードを追加することを検討してください。
class MyJob
@queue = :myjob
def self.perform
field = Time.now.to_i
redis.hsetnx "running_process",field,Process.pid
### Rest of the code
#### when the code is about to finish
##remove the finish process from the
redis.hdel "running_process",field
end
これで、次のようなredis "running_process"ハッシュをクエリするだけで、実行中のすべてのプロセスのリストを取得できます。
redis.hgetall "running_process"
ここでのresque
警告ジョブが失敗した場合、プロセスIDはクリーンになりません。
ハッシュあなたが何をするにしても、process id
あなたが収集したものをクロスチェックすることを確認してください
redisハッシュから実際にはrunning resque job
この助けを願っています