インターフェイスが次のようなポーラー サービスを実装しています。
poller = Poller.new(SomeClass)
poller.start
poller.stop
このstart
メソッドは、継続的に http リクエストのヒットを開始し、データベース内のものを更新することになっています。ed が実行されるstart
と、明示的に ed が実行されるまでプロセスが続行されstop
ます。
start
の実装は、新しいプロセスで生成して実行する必要があることを理解しています。Rubyでそれを達成する方法がよくわかりません。Ruby フレームワーク固有のソリューションではなく、Ruby ソリューションが必要です (Rails プラグインや Sinatra 拡張機能ではなく、Ruby gem のみ)。私は eventmachine と starling-workling を調査しています。eventmachine は大きすぎて短期間で理解できないことがわかりました。動作はプラグインであり、gem ではありません。そのため、Ruby アプリケーションで動作させるのは大変です。
これを達成する方法についてのガイダンスが必要です。ポインタはありますか?コード サンプルが役立ちます。
編集
スレッディング/フォークよりも Eventmachine または starling-workling ソリューションが優先されます。