sách gpt4 ai đã đi

Python 子进程 Popen 停滞 CGI 页面

In lại 作者:行者123 更新时间:2023-11-28 17:50:19 27 4
mua khóa gpt4 Nike

我有一个正在使用的工具,我需要它来运行解析器并输出另一个分析日志。目前我有它,所以它是通过网络界面。

  1. 用户转到表单并提交文件名进行解析(文件已在系统中)。
  2. 表单向Python CGI脚本提交信息
  3. Python CGI 脚本运行并生成一个子进程来运行解析。
  4. 解析器找到适当的信息进行分析并生成子进程。

Tôi đang sử dụng

import subprocess
...
subprocess.Popen(["./program.py", input])

在我的代码中,我从文档中假设我们不会等待子进程终止,我们只是继续运行脚本。我的 CGI 脚本启动了这一切:

subprocess.Popen(["./program.py", input])
// HTML generation code
// Javascript to refresh after 1 second to a different page

HTML 生成代码仅输出我们已处理请求的状态,然后 javascript 将页面刷新到主页。

câu hỏi

CGI 页面挂起,直到子进程完成,这不是我想要的。我认为 Popen 不会等待子进程完成,但每当我运行此工具时,它都会停止运行直到完成。我希望脚本完成并让子进程在后台运行,让网页仍然正常运行,而不会让用户认为一切都因加载信号而停滞不前。

我似乎找不到 Popen 这样做的任何理由,因为我读到的所有地方都说它不等待,但它似乎是。

奇怪的是,apache 日志在脚本完成之前也显示:“请求正文读取超时”。那么 Apache 实际上是在拖延脚本吗?

抱歉,我不能展示完整的代码,因为它是“ secret ”的,但希望其中的逻辑有待理解。

1 Câu trả lời

Apache 可能会等待子进程完成。您可以尝试妖魔化 child (双叉,setsid)或更好地将作业提交给本地服务,例如,通过写入预定义文件或使用某些消息代理或通过更高级别的接口(interface)(例如 celery )

关于Python 子进程 Popen 停滞 CGI 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11317489/

27 4 0
Bài viết được đề xuất: python - Pandas for Python 中的 Winsorize 数据
Bài viết được đề xuất: python - 从 Tiff 图像中获取描述/关键字?
Bài viết được đề xuất: javascript - 使用切换状态切换按钮文本
Bài viết được đề xuất: python - 如何使用 python 编写 VMS 守护进程?
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com