Come si può eseguire più attività in parallelo di sedano?

voti
2

Ho un due compiti.

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


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

Come posso eseguire questi due compiti nello stesso momento dalla stessa console, da un comando (preferibilmente con un diverso numero di workers).

È pubblicato 10/10/2019 alle 00:56
fonte dall'utente
In altre lingue...                            


1 risposte

voti
0

È necessario utilizzare group:

Il gruppo primitivo è una firma che prende una lista di compiti che dovrebbero essere applicati in parallelo.

Esempio da shell django:

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

Per ulteriori utilizzo complessa, consultare la documentazione sul gruppo .

Risposto il 10/10/2019 a 01:53
fonte dall'utente

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