【问题标题】:Python Twisted - How to use cache() in a non-rpy scriptPython Twisted - 如何在非 rpy 脚本中使用 cache()
【发布时间】:2017-06-12 17:39:43
【问题描述】:

我对 Python 还有些陌生,并且已经开始学习使用 Twisted 框架,以便我可以设置一个异步 Web 服务器。关于在 Session 对象中存储有状态信息的细节非常简单,但是文档中缺少的东西让我很失望。 this 教程脚本的第一行如下:

cache()
...rest of the script goes here

这仅适用于所谓的 rpy 脚本 - 更多关于 here 的信息。问题是,我真的不想使用 rpy 脚本,据称这不是必需的。我引用的页面将 rpy 脚本描述为主要用于试验新想法,而不是其他太多。

我的问题是,当我尝试运行我的脚本的非 rpy 版本时,我收到此错误:

NameError: name 'cache' is not defined

一些额外的研究告诉我,cache() 是每个 rpy 脚本的全局变量的一部分,因此不需要导入。但是,文档没有描述如何在非 rpy 文件中使用 cache() 。所以,我的问题是——如何在非 rpy 文件中使用 cache() ?我很确定这只是知道要导入哪个模块的问题,而我不知道。任何帮助将不胜感激。

【问题讨论】:

    标签: python twisted


    【解决方案1】:

    Twisted Web 处理 rpy 脚本的一个显着特点是每次请求都会重新评估源代码。

    cache 是专门用于 rpy 脚本的 API,用于告诉运行时不要再次重新评估源代码。如果调用cache,则保存评估源的结果并用于满足对该资源的下一个请求。

    由于此功能是处理 rpy 脚本所独有的,因此在以不同方式为 Twisted Web 定义资源时使用 cache 没有必要或价值。

    【讨论】:

      【解决方案2】:

      显然,如果您不使用 rpy 文件,则根本不需要使用 cache()。我只是从代码中删除了该行,它似乎工作正常。由于缺少文档,因此仍然感谢任何其他输入。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-29
        • 1970-01-01
        • 1970-01-01
        • 2023-03-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多