【问题标题】:HappStack event filesHappStack 事件文件
【发布时间】:2011-09-26 08:20:57
【问题描述】:

我正在开发一款游戏,并选择了 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 中是否缺少一些代码来执行“删除旧事物”?

【问题讨论】:

    标签: haskell happstack


    【解决方案1】:

    没有用于清除旧事件文件的内置机制。 Lemmih 曾谈到在某个时间点将此类设施添加到酸性状态。

    编辑:酸状态的 darcs 版本现在有一个函数“createArchive”来归档不再需要恢复当前状态的旧日志文件。

    【讨论】:

    • 太糟糕了!那么,人们如何应对呢? (使用另一个库来管理磁盘文件?
    • 我更新了我的条目。 acid-state 的 darcs 版本支持清除旧日志文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 2014-03-22
    • 2011-02-10
    • 1970-01-01
    相关资源
    最近更新 更多