私はSideksを使用して、Rails 3.2アプリケーションでユーザーアクションによって開始されるバックグラウンドジョブを正常に実行しています。私の特定のアプリケーションは、第三者のAPIを介して外部ソースからデータを送受信することを含みます。Sidekiqで連続バックグラウンドジョブを実行するにはどうしたらいいですか?
ダウンロード可能なデータがあるかどうかを各ユーザーごとに確認し続けることで、この外部ソースと同期させておく必要があります。
ここまでの私のバックグラウンドジョブはすべて、私が上記のようにユーザーによって開始されました。私は継続的に私が想像while
ループ内で、各ユーザの外部データの存在を確認したい場合は私の質問は、次のとおりです。
# pseudocode
while true
for user in User.active
data = user.get_data
next if data.blank?
UserDataWorker.perform_async(user.id)
end
end
その後、私は上記のコードを置けばいいのどこ?私は、連続的な仕事を生み出す方法を混乱させる。私はサイドキックの作業員にコードを書いてはいけません。それは決して完了しない仕事に過ぎないからです。それとも私はそれをするべきですか?
私はレーキタスクに入れたくありません。レーキタスクをどのように監視するのでしょうか?私がSidekqについて読んだことは、有限であり、完了したり、エラーを出したりすることができる作業を実行している作業者を指しているようです。私はあなたが提供できるどんな助けにも感謝します。
どのようにcronジョブを使用していますか? – mkk
私はそれについて考えましたが、cronはよりタスク指向であり、私が探しているのはデーモンのようなものです。 – AKWF