Python Web-Sanic框架的正確用法——定時任務
在 Sanic 中創建 Task
大家都知道 request-response,客戶端請求到服務器響應完成一個簡單的數據交互,在這期間,服務器的動作是需要被客戶端的請求觸發後才能做出響應動作。那麼如何在沒有請求觸發的情況下定時執行一段代碼呢?這就需要創建定時任務,可以單開一條線程去循環執行某個任務,但是這樣太LOW了,下面給大家推薦一種更加簡潔高效的方式 Sanic Task
- 示例代碼,至於怎麼定時就需要自己動手了
# 定時任務函數
async def taskFunc(app):
while True:
await asyncio.sleep(3)
# 執行SQL語句
sql_str = "SELECT * FROM Students"
res = await sanicdb.query(sql_str )
# 處理返回結果
print(res)
# 啓動
app.add_task(taskFunc(app))
這麼寫的話,在Sanic進程啓動的時候就會開始執行這個任務