Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Flask:chuyển xung quanh công việc nhân viên nền (rq, redis)

Tôi chưa sử dụng rq trước đây nhưng tôi thấy rằng một công việc có .key bất động sản. Có thể dễ dàng hơn để lưu trữ hàm băm đó trong phiên của bạn. Sau đó, bạn có thể sử dụng Job của lớp .fetch phương thức tự nó sẽ gọi một .refresh() và trả lại công việc cho bạn. Đọc .result() lúc đó sẽ cung cấp cho bạn tình trạng hiện tại của công việc.

Có thể như thế này (chưa được kiểm tra):

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. Máy chủ MongoDB không thể truy cập trong Mạng cục bộ mặc dù đã ràng buộc ip

  2. Sử dụng Redis làm bộ đệm trung gian cho REST API

  3. Redis / Node.js - 2 client (1 pub / sub) gây ra sự cố ghi

  4. redis HLL quá nhiều dương tính giả

  5. Lỗi khi chạy tập lệnh Lua từ ứng dụng khách redis