莎士比亚textFileReload有一些缓存效果吗?

时间:2013-07-23 10:53:19

标签: haskell yesod

以下是我的Yesod处理程序函数中的一些代码:

import qualified Data.Text.Lazy             as LT
import qualified Data.Text.Lazy.Builder     as TLB

SomeRouteR= do
    -- ................
    code <- someFuncAccessDB
    render <- getUrlRenderParams
    let tmpl = $(textFileReload "templates/some.txt")
        sms_content = LT.toStrict $ TLB.toLazyText $ tmpl render
    $(logDebug) $ "trying to send SMS: " `mappend` sms_content
    -- ....

'some.txt'包含一些类似的行:

the code is #{code}

但logDebug行报告'sms_content'不会根据'code'的新值而改变。也就是说,当在另一个新请求中,'code'的值被更改时,'sms_content'仍然具有上一次请求中的旧值。似乎Yesod缓存了'sms_content'的最后一个值。

我的错误是什么?

编辑:当我将textFileReload更改为textFile时,问题就消失了。所以我必须误解“Reload”在这里意味着什么。谁能给我一些线索?

0 个答案:

没有答案