import queue
import threading
import time
import uvicorn
import schedule
from fastapi import FastAPI
task_queue = queue.Queue()
app = FastAPI()
@app.get("/")
def read_root():
task_queue.put(1)
return {"Hello": "World"}
def handle_task(task_id: str):
pass
def job():
if task_queue.qsize() > 0:
task_id = task_queue.get()
handle_task(task_id)
def handle_tasks():
schedule.every(1).minute.do(job)
while True:
schedule.run_pending()
time.sleep(1)
if __name__ == "__main__":
task = threading.Thread(target=handle_tasks, args=())
task.start()
uvicorn.run("main:app", host="0.0.0.0", port=8000)
用的是 fastapi,然后我想用一个队列存任务序号,然后再用一个定时任务相当于轮询队列有没有任务,但是现在出错了,我发现两个线程里的队列对象不是同一个
应该怎么写才对
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.