特定のrequest
がまだ有効かどうかをどうやって検出できますか? UUID ABC1233
との要求がまだ動作しているか、どのように私は知ることができ、別の要求からRails、特定のリクエストがまだ実行中かどうかを知る方法
# my_controller.rb
def my_action
request.uuid # -> ABC1233
end
:たとえば
私は、この要求のUUIDがありますか?好奇心のために
:
私はURLリクエストを使用してcronジョブを実行していbeanstalk directives後。
前回の実行中に次の繰り返しを開始したくない場合。私はちょうどそれが完了する前にいくつかの時間が死ぬので、要求によって更新されたini/end
フラグで中継することはできません。
通常のcronタスクを使用して、プロセスのPIDを使用して正しく管理していました。 しかし、Webサーバーのプロセスをさまざまな要求の間で再利用できるため、PIDを使用することはできません。
私はこのようなものを実装していますが、要求が消滅したり(システムレベルで)殺される可能性があり、 'unset'シグナルが送信されないため信頼できません。これは、リクエストがまだ生きているかどうかを知るための外部メソッドが必要なためです。 – fguillen
私はあなたと同じくらい迷っています。明らかにタイムスタンプをredisに保存することもできますし、定期的に古いものを削除することもできますが、おそらくすでにそれを知っていることでしょう。もっと何かを見つけたら教えてください、それは面白い問題です! –
私の答えをチェックしてください:http://stackoverflow.com/a/42227927/316700 – fguillen