wjl 发表于 2022-7-4 15:25

长时间运行的Pyton程序如何实现“断点继续运行”功能

对于运行十几个小时以上甚至好几天的Pyton程序有什么简单的方法可以实现“断点继续运行”的功能,而不至于每次意外停止运行后都从头开始,如何保存程序的运行状态、各种变量等

choujie1689 发表于 2022-7-4 15:32

意外停止是不是可以加错误异常处理try,避免报错导致程序停止

Cool_Breeze 发表于 2022-7-4 15:51

使用多线程或者多进程,使用一个进程或者线程接收指令输入,另一个运行程序,然后在程序中插入监视点。

huansheng 发表于 2022-7-4 16:45

捕获异常啊,在关键时刻保存相关变量数据,写到文件里或者数据库,初次启动时读取上一次数据运行

jhpc@vip.qq.com 发表于 2022-7-4 16:49

同问,有没有什么办法可以定时暂时和运行!

醉红尘0 发表于 2022-7-4 17:51

apscheduler这个模块可以实现各类基于时间的操作
你看利用这个模块的定时任务来触发你程序的暂停和继续运行功能
还有个思路,就是通过批处理来运行python程序,用apscheduler模块实现程序定时结束,并将重要数据写入文件或者数据库,最后利用批处理的定时功能重新运行python

lidong234ok 发表于 2022-7-4 20:55

我觉得可以写个定时重启的脚本

bluedevil 发表于 2022-7-4 22:43

不行的,内存怎么恢复?微服务化/分布式才是正道

wang1440544971 发表于 2022-7-8 11:29

可以记录下来当前的寄存器什么的一些数据,为恢复做准备,但是在该运行位置之前的代码会对内存堆栈等产生影响,这个会影响到后续的操作的,所以没有办法真正做到恢复,除非能实现全拷贝,那样是可以完美恢复的,但是全拷贝相当于也是你自己运行了一遍,所以是等价的,除非在某处你需要多次调试,那这样一次拷贝会对后续调试有非常大的帮助
页: [1]
查看完整版本: 长时间运行的Pyton程序如何实现“断点继续运行”功能