sql >> Databáze >  >> NoSQL >> Redis

Baňka:procházení úlohy pracovníka na pozadí (rq, redis)

Nepoužil jsem rq dříve, ale vidím, že úloha má .key vlastnictví. Může být jednodušší uložit tento hash ve vaší relaci. Pak můžete použít Job .fetch třídy metodu, která sama zavolá .refresh() a vrátit vám práci. Čtení .result() v tomto okamžiku by vám poskytl aktuální stav úlohy.

Možná takto (netestováno):

from rq.job import Job

@app.route('/make/')
def make():
    job = q.enqueue(do_something, 'argument')
    session['job'] = job.key
    return 'Done'

@app.route('/get/')
def get():
    try:
        job = Job()
        job.fetch(session['job'])
        out = str(job.result)
    except:
        out = 'No result yet'
    return out


  1. Nodejs / Express – Spouštění mé aplikace:express.createServer() je zastaralé

  2. Jak na to:Indexujte data z S3 pomocí CDP Data Hub

  3. redis scan vrátí prázdné výsledky, ale nenulový kurzor

  4. Jak implementovat Redis Multi-Exec pomocí Spring-data-Redis