我有一个长时间运行的 python 函数,作为 http 请求处理程序的一部分执行(它与表单上选择的各种选项相关联)。
http 请求处理程序等待函数完成执行,然后将适当的响应返回给发起者。
但是,由于函数可能需要一些时间来执行,因此请求可能会在这段时间内被中断 - 导致请求处理程序死亡,并中断长时间运行的函数的执行。这是不可取的 - 我宁愿确保每次调用该函数时都完成执行。
我玩过使用子进程,但它们似乎在请求处理程序完成时就死了。
我可以/如何在一个单独的线程或进程中触发该函数,表明它应该被允许比它的父进程更长寿吗?
守护进程似乎可以部分解决我的问题 - 他们可以比他们的父母长寿?- 但我仍然希望父进程监视/访问子进程的结果。
那是:
- 父进程可能在子进程之前死亡。在这种情况下,我希望子进程完成
- 只要父进程还活着,我希望它能够访问子进程,监视它等等......如果父进程没有死,我希望它能够访问孩子正在做的处理的结果。