Nel mio sito Web gli utenti possono AGGIORNARE il loro profilo (manuale) ogni volta che lo desidera, o automatico una volta al giorno.sedano - Attività che devono essere eseguite con priorità
Questa attività viene distribuita con il sedano ora.
ma ho un "problema":
Ogni giorno, in aggiornamento automatico, un lavoro mettere tutti gli utenti (+ 6K utenti) in coda:
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()
Se qualcuno cerca di fare il aggiornamento manuale, entreranno in coda e dureranno per sempre per essere eseguiti.
C'è un modo per impostare questa attività manuale per l'esecuzione in modo più semplice? Oppure fai un dedicato per ogni coda separata: manuale e automatico?
è possibile limitare il numero di attività eseguite, ad esempio in ore. Poi un altro compito ... Leggi la loro documentazione ... – catherine