在服务器内部运行可执行后台程序



我是学院一个研究空气质量的实验室的实习生,他们希望我改进他们的网站,该网站运行着空气质量研究人员使用的一个程序(我认为该程序是用RUST编写的(。现在的工作方式是,用户将一些必要的文件上传到Web应用程序(用Django btw编写(,然后Web应用程序调用这个程序,该程序与上传的文件一起在服务器上运行。问题是,如果用户离开或刷新页面,后台程序将停止。我从来没有处理过在服务器后台运行其他可执行文件的概念,所以我在理解这一切时遇到了一些问题。我遇到了";芹菜"包,但它似乎真的很难实现,我想知道是否有其他方法可以做到这一点。

您可以使用子流程

template.html

<form action="{% url 'run_sh' %}" method="POST">
{% csrf_token %}
<button type="submit">Call</button>
</form>

urls.py

from django.urls import path
from . import views
urlpatterns = [
path('run-sh/', views.index, name='run_sh')
]

views.py

import subprocess
def index(request):
if request.POST:
subprocess.call('/home/user/test.sh') 
return render(request,'index.html',{})

test.sh

#!/bin/sh
echo 'hello'

基于这个问题的答案

最新更新