python cgi root运行_是否有一种简单的方法可以从Python CGI脚本启动后台任务,而无需等待其终止?...

在Windows中,就是这样.

我认为这个问题的答案是我需要创建Windows服务.对于我想做的事情,这似乎很可笑.

我只是想在这里为我的经理拍些原型,我不负责产品的生产……事实上,它甚至可能永远都不会被产品化.它可能只是一些研究人员在玩的东西.

我有一个CGI脚本,该脚本接收要上传的文件,将其存储到一个临时位置,然后启动一个后台进程对文件进行一些严格的数字运算.然后,一些Javascript内容围绕调用其他CGI脚本以检查状态并根据需要更新页面.

只要子进程正在运行,除了可恶的Web服务器不会关闭连接之外,所有这些工作都可以进行.我已经做了一些搜索,在Unix上看来答案是使它成为守护程序,但是我现在仍停留在Windows上,我想答案是使它成为Windows服务?!?要启动一个该死的进程,然后关闭服务器连接,这似乎是非常沉重的.

那真的是唯一的方法吗?

我能够对其进行修改,以使其更简单,尽管这是一个繁琐的解决方案,但它对于我要制作的快速且肮脏的小原型是完美的.

因此,最初,我的主要脚本是这样做的:

subprocess.Popen("python.exe","myscript.py","arg1","arg2")

正如我所描述的,这不起作用.取而代之的是,我现在让我的主脚本发出这小段Javascript,该Javascript在文档完全加载后运行:

$("#somecrap").load("launchBackgroundProcess.py", {arg1:"foo",arg2:"bar"});

然后launchBackgroundProcess.py执行subprocess.Popen.

该解决方案永远无法扩展,因为在后台任务运行的整个过程中,它仍使浏览器连接保持打开状态.但是由于这个小问题,总有一天我可能最多同时拥有两个用户(即使我对此表示怀疑),也不用担心资源.这允许用户查看主页并获取Javascript更新,即使仍然没有充分的理由将HTTP连接挂起也是如此.

感谢您的回答!如果有人要求我将其具体化,我将使用Profane建议的资源.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值