将计算存储在烧瓶路径缓存中

nadermx

我有一个漫长的任务,即将进入python-rq工作者队列。

@cache.cached(timeout=2592000)
@app.route('/as/<keyword>', methods=['GET'])
@db_session
def auto_suggest(keyword):
    job = q.enqueue(find_keyword, keyword)
    while not job:
        time.sleep(1)
    return jsonify(word=job)

我正在flask-cache尝试将结果保存为一个计算,该计算最多只需要每周运行一次,每月一次就足够了。

我遇到的问题是,它在运行时会缓存失败的响应,而不是实际的解决方案。

还有其他方法吗?或关于如何处理此问题的建议?

马丁·彼得斯(Martijn Pieters)

您正在尝试对Job代理对象进行JSON编码,而不是作业的结果。您确实要在这里检查工作结果

job = q.enqueue(find_keyword, keyword)
while not job.result:
    time.sleep(1)
return jsonify(word=job.result)

这应该被缓存就好了。

您可以改为find_keyword使用Cache.memoize()装饰器来记住函数的结果

@cache.memoize(30 * 24 * 60 * 60)
def find_keyword(keyword):
    # ....

这将find_keyword()完全基于keyword参数来缓存函数的结果一个月(不同关键词的结果被独立缓存)。

还有一点要注意:将额外的装饰器应用于视图功能时,请确保将@app.route()装饰器放在顶部(最后应用)。任何装饰器应用的“以后”都会被忽略,因为不是其输出被注册为视图:

@app.route('/as/<keyword>', methods=['GET'])
@cache.cached(timeout=2592000)
@db_session
def auto_suggest(keyword):
    job = q.enqueue(find_keyword, keyword)
    while not job.result:
        time.sleep(1)
    return jsonify(word=job.result)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将计算机存储在避难所中

来自分类Dev

如何在计算中使用存储在 django 模型中的数据,然后将计算结果存储在 django 模型字段中?

来自分类Dev

将计算应用于data.frame值,存储在新的data.frame中-R

来自分类Dev

将计算存储在数组中-第二次尝试

来自分类Dev

如何计算文档数量(onWrite),并通过Cloud Functions将计数器保存到特定路径中?

来自分类Dev

如何通过遍历Python数据框中的每一行将计算的值存储在新列中?

来自分类Dev

TensorFlow中的缓存计算

来自分类Dev

使用烧瓶中的图像路径上传图像

来自分类Dev

如何从存储在HDFS分布式缓存中的文件的路径中获取文件名

来自分类Dev

如何在本地和生产环境中设置不同的Laravel 5存储和缓存路径?

来自分类Dev

如何在本地和生产环境中设置不同的Laravel 5存储和缓存路径?

来自分类Dev

计算缓存所需的内存以存储缓存的元数据?

来自分类Dev

C 从一个文件中读取数据并将计算结果存储在另一个文件中

来自分类Dev

将计算字段添加到Laravel模型查询中

来自分类Dev

如何将计算结果写入python中的文件?

来自分类Dev

将计算应用于Pandas DataFrame中的过滤值

来自分类Dev

将计算放在for循环的主体中可以吗?

来自分类Dev

将计算列添加到R中的数据矩阵

来自分类Dev

每小时将计算机从睡眠中唤醒?

来自分类Dev

如何将计算的算法添加到列表中?

来自分类Dev

将计算字段添加到Laravel模型查询中

来自分类Dev

如何将计算结果保存在变量中

来自分类Dev

计数排列-将计数器存储在数组中

来自分类Dev

如何使用 mysql 存储过程计算一张表的最后 7 条记录,在我的查询中,我希望在 isprinted=1 时将计数打印为打印

来自分类Dev

将阵列存储在缓存中

来自分类Dev

图像未存储在缓存中

来自分类Dev

Android Arraylist存储在缓存中

来自分类Dev

全局内存加载/存储是否正在通过具有计算功能1.x的设备中的缓存进行存储?

来自分类Dev

在烧瓶应用程序中捕获所有路径

Related 相关文章

  1. 1

    将计算机存储在避难所中

  2. 2

    如何在计算中使用存储在 django 模型中的数据,然后将计算结果存储在 django 模型字段中?

  3. 3

    将计算应用于data.frame值,存储在新的data.frame中-R

  4. 4

    将计算存储在数组中-第二次尝试

  5. 5

    如何计算文档数量(onWrite),并通过Cloud Functions将计数器保存到特定路径中?

  6. 6

    如何通过遍历Python数据框中的每一行将计算的值存储在新列中?

  7. 7

    TensorFlow中的缓存计算

  8. 8

    使用烧瓶中的图像路径上传图像

  9. 9

    如何从存储在HDFS分布式缓存中的文件的路径中获取文件名

  10. 10

    如何在本地和生产环境中设置不同的Laravel 5存储和缓存路径?

  11. 11

    如何在本地和生产环境中设置不同的Laravel 5存储和缓存路径?

  12. 12

    计算缓存所需的内存以存储缓存的元数据?

  13. 13

    C 从一个文件中读取数据并将计算结果存储在另一个文件中

  14. 14

    将计算字段添加到Laravel模型查询中

  15. 15

    如何将计算结果写入python中的文件?

  16. 16

    将计算应用于Pandas DataFrame中的过滤值

  17. 17

    将计算放在for循环的主体中可以吗?

  18. 18

    将计算列添加到R中的数据矩阵

  19. 19

    每小时将计算机从睡眠中唤醒?

  20. 20

    如何将计算的算法添加到列表中?

  21. 21

    将计算字段添加到Laravel模型查询中

  22. 22

    如何将计算结果保存在变量中

  23. 23

    计数排列-将计数器存储在数组中

  24. 24

    如何使用 mysql 存储过程计算一张表的最后 7 条记录,在我的查询中,我希望在 isprinted=1 时将计数打印为打印

  25. 25

    将阵列存储在缓存中

  26. 26

    图像未存储在缓存中

  27. 27

    Android Arraylist存储在缓存中

  28. 28

    全局内存加载/存储是否正在通过具有计算功能1.x的设备中的缓存进行存储?

  29. 29

    在烧瓶应用程序中捕获所有路径

热门标签

归档