Đa luồng với Flask trong Python

from flask import Flask
app = Flask(__name__)

@app.route("/")
def main():
   return "This is my website". 

if __name__ == "__main__":
   app.run()
   while True:
       print("Hello World")

Mình muốn dùng Flask để tạo 1 web app, đồng thời thực hiện 1 vòng lặp khác, theo mình tìm hiểu để 2 công việc này chạy đồng thời thì cần multithreading/multiprocessing tuy nhiên mình vẫn k hiểu được nên bạn nào có kinh nghiệm giúp mình với

Không hiểu mục đích của bạn thực hiện 1 vòng lặp khác là làm gì. Nếu chỉ là multipleprocess thì bạn có thể spawn 1 process khác để xử lý.

1 Like

mình đang viết CT cho raspberry pi, vừa làm 1 web server đồng thời đọc giá trị cảm biến để điều khiển thiết bị, vì vậy mình mong muốn chạy web và 1 vòng lặp khác đồng thời trong 1 script. Mình k quan trọng dùng kĩ thuật/library mà chỉ cần đạt được mục tiêu như trên, nhưng xem hướng dẫn ở các nguồn mình vẫn k hiểu để áp dụng cho script của mình, nên bạn có thế hướng dẫn mình đc k ?

Bạn có thể nhận request từ flask webserver, sau đó sử dụng task để đưa jobs vào background process. Thường mọi người sử dụng celery+Redis để quản lý task-queue: http://flask.pocoo.org/docs/1.0/patterns/celery/

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?