django中非同步執行python指令碼

2021-09-23 17:21:04 字數 638 閱讀 7259

之前業務中需要根據前端的提交,用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結合的文件較少,大部分也只是粗粗介紹了大概的流程,...