私のウェブサイトのユーザーは、毎回自分のプロファイル(マニュアル)を更新したり、1日に1回自動更新したりすることができます。セロリ - 優先度で実行する必要のあるタスク
このタスクは現在セロリと共に配布されています。
毎日は、自動更新では、ジョブがキュー上のすべてのユーザー(+ -6kユーザーを)置く:
しかし、私は「問題」を持っている
from celery import group
from tasks import *
import datetime
from lastActivityDate.models import UserActivity
today = datetime.datetime.today()
one_day = datetime.timedelta(days=5)
today -= one_day
print datetime.datetime.today()
user_list = UserActivity.objects.filter(last_activity_date__gte=today)
g = group(update_user_profile.s(i.user.auth.username) for i in user_list)
print datetime.datetime.today()
print g(user_list.count()).get()
誰かが実行しようとした場合手動更新では、キューに入り、永遠に実行されます。
この手動タスクを少しずつ実行する方法はありますか? または、それぞれのキューに専用のキューを作成します。
実行するタスクの数を制限することができます(例:時間単位)。次に、別のタスク...ドキュメントを読む... – catherine