W jaki sposób można uruchomić wiele zadań seler równolegle?

głosy
2

Mam dwa zadania.

@app.task
def run2():
    while True:
        print(1)
        time.sleep(5)
    return


@app.task
def run3():
    while True:
        print(2)
        time.sleep(2)
    return

Jak mogę uruchomić te dwa zadania w tym samym czasie z tej samej konsoli, z jednego polecenia (najlepiej z innej liczby workers).

Utwórz 10/10/2019 o 00:56
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
0

Trzeba użyć group:

Grupa prymitywny jest podpis, który pobiera listę zadań, które powinny być stosowane równolegle.

Przykład z django powłoki:

>>> from celery import group
>>> from myapp.tasks import run1, run2
>>>
>>> run_group = group(run1.s(), run2.s())
>>> run_group()
<GroupResult: 06b3e88b-6c10-4ba5-bb32-5005c82eedfe [cc734fbd-3531-45d1-8575-64f4eff35523, 
1075e822-a6e2-4c34-8038-369613ff687d]>

W przypadku bardziej złożonych zastosowań zobaczyć Docs na grupy .

Odpowiedział 10/10/2019 o 01:53
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more