特定の方法で複数のコンピューターにジョブを分散する方法を探しています。
誰かがジョブを実行するように要求した場合、負荷が最も少ないコンピューターに送信する必要があります。他の誰かが同じジョブを要求した場合、別のジョブを作成するのではなく、既存のジョブの結果をサブスクライブする必要があります。ジョブのすべてのコンシューマーは効果的に同期する必要があります。結果を取得するまでスリープし、準備ができたらすぐに起動します。リクエストしたときにジョブがすでに完了している場合は、すぐに結果を取得する必要があります。
Pythonでこれをどのように達成しますか?
これまでのところ、rabbitmq や celery などのタスク キューについて調べてきましたが、タスクの結果をサブスクライブするという見通しは面倒で、大量のキューが必要になる可能性があります。