0
Queueからのポーリングメッセージを保持するrubyスレッドを作成しました。 以下は、キューを無期限にポーリングし続ける基本的なコードブロックです。アプリケーションが起動するときにこのコード(無限ループスレッド)ブロックが実行されるように、レールサーバーの起動時にこのメソッド(PollerクラスのPollメソッド)を初期化できますか?rubyクラスでメソッドを初期化するにはどうすればよいですか?
class Poller
class << self
def poll
begin
----polling logic for queue
sleep(1.minute)
end while(true)
end
end
end
上記のコードがキューからのメッセージのポーリングを開始するように、レール上の初期化プログラムで上記のコードを初期化するにはどうすればよいですか?
私は質問を更新しました。現在はより良いことを願っています –
Railsプロダクションシステムでは、通常、サーバーごとに複数のサーバープロセスまたはスレッドがあります。それらのすべてのためにただ一つの 'Poller'またはそれぞれ' Poller'を開始したいですか?何か問題が起きたときに、Webサーバープロセスを再起動して、 'Poller'を再起動する方法を教えてください。オプションで毎分実行するCronジョブで一度だけ投票するPollerを起動していますか?私はセットアップが簡単で、管理しやすく、信頼性が高いと思います。 – spickermann
その1つのポーラー各server.howは、上記のクラスをサーバーの起動時にポーリング方法を実行するように開始しますか?それは私の既存のレールアプリケーションを介して行われるべきであり、他の方法ではありません。 –