Jak lze spustit více celer úkoly paralelně?

hlasů
2

Mám dva úkoly.

@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 mohu spustit tyto dva úkoly najednou ze stejného pultu, z jednoho příkazu (nejlépe s různým počtem workers).

Položena 10/10/2019 v 00:56
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

Je třeba použít group:

Skupina primitivní je podpis, který vezme seznam úkolů, které by měly být aplikovány současně.

Příklad z Django pláště:

>>> 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]>

U složitějších použití, viz dokumenty o skupině .

Odpovězeno 10/10/2019 v 01:53
zdroj uživatelem

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