当面のタスク:
ユーザーアクティビティが行としてプッシュされるMySQLテーブルがあります。そのアクティビティは後で処理する必要があります。
id | activity_type | activity_data | creation_time | status
23 EMAIL {....... } 2013-02-01 UNPROCESSED
セロリなしの処理:
- 処理する N 個のレコードを取得して処理し、処理されたレコードのステータスを PROCESSED として更新するスクリプトを使用します。
Celery を使用して同じことをどのように達成できますか?ブローカーを使用する代わりに、同じ機能を使用してタスクをマークしたいと思いますか? つまり、タスクの追加 -> ステータスが UNPROCESSED の mysql テーブルに追加された最も古い 10 行を取得します。これには、タスク関連のデータも含まれます。
タスク終了時 -> 行を PROCESSED としてマークします。
タスクをブローカーにプッシュする代わりに、MySQL テーブルからタスクを取得する必要があることをセロリにどのように伝えることができますか?
私はセロリの初心者なので、そのすべての機能を認識していません。MySQL をブローカーとして使用することはお勧めしませんが、実現可能性を知りたいです。