Redis
 sql >> база данни >  >> NoSQL >> Redis

Flask:предаване на фонов работник (rq, redis)

Не съм използвал rq преди, но виждам, че заданието има .key Имот. Може да е по-лесно да съхранявате този хеш във вашата сесия. След това можете да използвате Job .fetch на класа метод, който сам ще извика .refresh() и да ви върне работата. Четене на .result() в този момент ще ви даде текущото състояние на работата.

Може би така (непроверено):

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. Как да накарам Redis да започне на Heroku?

  2. Node.js и Redis / hget се синхронизират

  3. Yii2 + Redis като база данни

  4. Защо не мога да стартирам lua скрипт в redis след рестартиране на redis?

  5. Опашка за задания с redis, използвайки BLPOP