3
我剛剛熟悉芹菜,並有一個問題。我的設置是Django的Redis的芹菜芹菜集團在一個設計多個任務
讓我們一個任務發送電子郵件的例子:
任務
@task
def send_email(message):
mailserver.sendOneMessage(message)
VIEWS
class newaccount(APIView):
def post(self, request, format=None):
send_email.delay(request.data.email)
這工作完全, Django將消息發送給Redis,然後由Celery接收,然後執行任務。但是我想改進系統,以便Celery以一定的時間間隔從Redis獲取所有消息,並執行包含多條消息的單個任務。這是因爲連接到電子郵件服務器的速度很慢,並且作爲單個請求發送多個郵件會導致更快的過程。
我想是這樣工作的:
任務
@task
def send_emails(messages):
mailserver.sendMultipleMessages(messages)
的思考?
您是否嘗試將任務傳遞給任務的電子郵件數組,然後在任務中循環發送這些電子郵件? – Niloct
@Niloct這是不可能的。電子郵件在用戶授權步驟添加。我想以後可以使用redis和定期芹菜任務手動對它們進行分組,但我不確定如何正確設計它。 –