我正在为个人项目运行ruby程序,因为我需要大约20个小时才能完成执行,并且#34;保存状态"每小时左右的程序,以防我的建筑物停电。
我希望能够使用最后一次保存状态重新开始执行"该计划。但我不知道是否有工具可以做到这一点,或者是否必须对我自己的整个事情进行硬编码。
答案 0 :(得分:1)
(回答答案。)
您可能想要使用Marshal[1]
。要保存状态,请dump()
,并恢复状态为load()
或restore()
。该过程的细节将在很大程度上取决于对象的互连方式以及您要保存的数据量。如果数据足够小,您甚至可以使用JSON,并放弃Marshal
。
您可能需要尝试 到dump()/load()
数据的最佳选择,因为如果您有一个超级对象加载所有这些数据进入内存可能会让你失望(即使你有大量的内存)。您可能需要将该整体块拆分为许多单独编组的较小对象,然后封送它们的容器。