python – 中断并重新启动写 *** 作

python – 中断并重新启动写 *** 作,第1张

概述我目前正在集群上运行一段 Python代码.由slurm强制执行的部分规则是我的代码的wallclock运行时间有一个时间限制.这大多数时候都不是问题,因为我可以使用pickle检查我的代码,然后重新启动它. 然而,在代码I的末尾,需要写出我的所有数据(在完成所有计算之后我才能写入),这可能需要一些时间,因为可以收集非常大的数据. 我现在的问题是,在某些情况下,代码会被slurm终止,因为它超出了 我目前正在集群上运行一段 Python代码.由slurm强制执行的部分规则是我的代码的wallclock运行时间有一个时间限制.这大多数时候都不是问题,因为我可以使用pickle检查我的代码,然后重新启动它.

然而,在代码I的末尾,需要写出我的所有数据(在完成所有计算之后我才能写入),这可能需要一些时间,因为可以收集非常大的数据.

我现在的问题是,在某些情况下,代码会被slurm终止,因为它超出了运行时间限制.

是否有某种方法可以中断 *** 作,停止代码然后重新启动我停止的位置?

解决方法 假设您将数据放在列表或元组中.
也许是发电机功能?

#Create generator functiondef Generator():    data=['line1','line2','line3','line4']:    for i in data:        yIEld i    output=Generator() #reference it.............if [time conditions is true]:        file-open("myfile","a")     file.write(str(next(output))else:     [Do something]

您还可以使用try捕获异常并重新启动main函数

try:    MainFunction() #main function with generator next callsexcept [you error Error]:    MainFunction() #restart main function
总结

以上是内存溢出为你收集整理的python – 中断并重新启动写 *** 作全部内容,希望文章能够帮你解决python – 中断并重新启动写 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1195978.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存