gpt4 book ai didi

python - 如何在 Pylons 中启动后台进程?

转载 作者:太空宇宙 更新时间:2023-11-03 13:24:54 25 4
gpt4 key购买 nike

我正在尝试编写一个允许用户启动相当长时间运行的进程(5-30 秒)的应用程序。然后它应该允许用户在生成过程时检查过程的输出。只有用户当前 session 需要输出,因此无需长期存储任何内容。关于如何在利用 Pylons 框架的同时实现这一点,我有两个问题:

  1. 使用 Pylons Controller 启动后台进程的最佳方式是什么?

  2. 将后台进程的输出返回给用户的最佳方法是什么? (我应该将输出存储在数据库、 session 数据等中吗?)

编辑:问题是,如果我在 Controller 中使用 subprocess 启动命令, Controller 在继续之前等待子进程完成,向用户显示一个空白页面,该页面正在加载,直到过程完成。我希望能够在启动子流程后立即将用户重定向到状态页面,让它自行完成。

最佳答案

我过去通过让我调用的第二个进程守护进程来处理这个问题(通过 HTTP 调用长时间运行的进程)。您的 Pylons Controller 对您的第二个进程进行系统调用(传递任何需要的数据),第二个进程立即成为守护进程。这将结束系统调用,您的 Controller 可以返回。

然后我的网络应用程序通常会发出 AJAX 请求以“检查”守护进程,直到它完成。我使用了 tmp 文件(cPickle 运行良好)和数据库在守护进程和网络应用程序之间共享信息。

优秀的 python 守护程序配方:http://code.activestate.com/recipes/278731/

关于python - 如何在 Pylons 中启动后台进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1182587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com