Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Kolba:przekazywanie pracy pracownika w tle (rq, redis)

Nie używałem rq wcześniej, ale widzę, że zadanie ma .key własność. Być może łatwiej będzie przechowywać ten skrót w sesji. Następnie możesz użyć Job .fetch klasy metoda, która sama wywoła .refresh() i zwróć pracę tobie. Czytanie .result() w tym momencie poda ci aktualny status pracy.

Może tak (nietestowane):

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Odzyskaj po zerwaniu połączenia w redis pub/sub

  2. Problem z wydajnością harmonogramu współbieżności golang + redis

  3. spring-data-redis wyjątek redisTemplate

  4. Skalowalny sposób rejestrowania danych żądania strony z aplikacji PHP?

  5. Jak zmusić klienta do pobrania bardzo dużego pliku, który jest generowany w locie?