之前業務中需要根據前端的提交,用django在後端中跑某個指令碼進行執行,因為執行時間較久,所以用的是非同步,不知道什麼是非同步的可以先去研究django的非同步執行框架celery,這裡直接展示我的非同步環境下執行python指令碼的**:
tasks.py中的操作:
import subprocess # 這個庫是能夠直接執行指令碼的關鍵
@task(bind=true)
def run_script(self):
'''# 執行python指令碼
:param self:
:return:
'''subprocess.run('替換為指令碼路徑', shell=true)
return print('done')
views.py中的操作:
def script_start(request):
if request.method == "post":
# 執行task任務
run_script.delay()
result =
return render(request, "done.html", )
別忘了在url中配置相應的url,然後就可以了~ 非同步任務佇列Celery在Django中的使用
前段時間在django web平台開發中,碰到一些請求執行的任務時間較長 幾分鐘 為了加快使用者的響應時間,因此決定採用非同步任務的方式在後台執行這些任務。在同事的指引下接觸了celery這個非同步任務佇列框架,鑑於網上關於celery和django結合的文件較少,大部分也只是粗粗介紹了大概的流程,...
非同步任務佇列Celery在Django中的使用
前段時間在django web平台開發中,碰到一些請求執行的任務時間較長 幾分鐘 為了加快使用者的響應時間,因此決定採用非同步任務的方式在後台執行這些任務。在同事的指引下接觸了celery這個非同步任務佇列框架,鑑於網上關於celery和django結合的文件較少,大部分也只是粗粗介紹了大概的流程,...
非同步任務佇列Celery在Django中的使用
前段時間在django web平台開發中,碰到一些請求執行的任務時間較長 幾分鐘 為了加快使用者的響應時間,因此決定採用非同步任務的方式在後台執行這些任務。在同事的指引下接觸了celery這個非同步任務佇列框架,鑑於網上關於celery和django結合的文件較少,大部分也只是粗粗介紹了大概的流程,...