我有一个相对昂贵的电子邮件 - 一套人的任务,我正试图使用" deferred" Google AppEngine中的库。我想将处理程序仅发送给收件人列表和一些细节,并让处理程序将电子邮件格式化为每个人的正确语言。我使用了Babel。
如果我这样做而没有延期,那么效果很好 - 内容加载的翻译很好。但是如果我推迟并将内容的提取移动到处理程序,则i18n库没有正确加载 - i18n.get_i18n()。translate是一个NullTranslations对象。所以延迟的任务处理程序显然没有在启动时获取上下文 - 有没有办法初始化i18n以使其正确重新加载?或者某种方式告诉AppEngine保留一些上下文?
谢谢!
答案 0 :(得分:0)
阿。如果我使用常规任务队列而不是延迟库,它可以正常工作。延期'库应该只是一个围绕任务队列系统的包装器,但它显然与i18n libray的行为不同。 i18n确实想要'请求'宾语;也许延迟处理程序对它做了一些奇怪的事情。无论如何 - 直接使用队列几乎一样容易。