Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Flask:menyebarkan pekerjaan pekerja latar belakang (rq, redis)

Saya belum pernah menggunakan rq sebelumnya tetapi saya melihat bahwa suatu pekerjaan memiliki .key Properti. Mungkin lebih mudah untuk menyimpan hash itu di sesi Anda. Kemudian Anda dapat menggunakan Job .fetch class kelas metode yang dengan sendirinya akan memanggil .refresh() dan mengembalikan pekerjaan itu kepada Anda. Membaca .result() pada saat itu akan memberi Anda status pekerjaan saat ini.

Mungkin seperti ini (belum diuji):

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 sebagai perantara pesan

  2. Cara menganalisis dan mengoptimalkan penggunaan memori di Redis

  3. Pekerja antrian redis mogok di utcparse

  4. Kapan menggunakan Redis alih-alih MySQL untuk aplikasi PHP?

  5. Koneksi ditolak untuk Redis di Heroku