我正在用Flask开发一个小型Web服务,该服务需要运行后台任务,最好是从任务队列中运行。但是,在对主题进行搜索之后,唯一的结果基本上是Celery和Redis Queue,它们显然需要单独的排队服务,因此这些选项过于繁重且难以部署。我正在寻找的只是一个简单的后台任务队列,该任务队列使任务可以在单独的线程/进程上排队和执行,有人知道Python中是否有类似的东西吗?
答案 0 :(得分:2)
import threading
import time
class BackgroundTasks(threading.Thread):
def run(self,*args,**kwargs):
while True:
print('Hello')
time.sleep(1)
t = BackgroundTasks()
t.start()
在while语句之后,可以将要运行的代码放到后台。也许删除一些模型,发送电子邮件或其他什么。
答案 1 :(得分:0)
您可能正在寻找asyncio库
import asyncio
async def main():
print('Hello ...')
await asyncio.sleep(1)
print('... World!')
# Python 3.7+
asyncio.run(main())