我正在开发一个游戏,并选择了Happstack作为持久性部分。我发现它很容易使用,我给自己举了一个快速的例子来理解它:
getAllObjects :: MonadIO m => m [Thing]
getAllObjects = do
elems <- query GetObjects
return elems
addAnObject :: (MonadIO m) => Thing -> m ()
addAnObject thing = do update $ AddObject thing
test command = do
control <- startSystemState macidProxy
result <- command
shutdownSystem control
return result
checkpoint = do
control <- startSystemState macidProxy
createCheckpoint control
shutdownSystem control每次我“测试”它时,它都会创建一个event.file。然后我‘检查点’并创建一个新的检查点文件,这对我来说是可以的,问题是旧的事件文件一直在增长!我手动删除所有文件(除了上一个检查点和当前文件)。有没有一些我在happstack中遗漏的代码来做“删除旧的东西”?
发布于 2011-09-29 11:14:43
没有用于清除旧事件文件的内置机制。Lemmih谈到了在某个时候将这样的设施添加到acid-state中。
编辑: darcs版本的acid-state现在有一个功能'createArchive‘来归档恢复当前状态不再需要的旧日志文件。
https://stackoverflow.com/questions/7552400
复制相似问题