在Flask中从后台进程设置缓存

Ben

我想使用其SimpleCahce框架在Flask中的后台进程中设置一个缓存变量。那是:

from rq import Queue
from worker import conn
from werkzeug.contrib.cache import SimpleCache
cache = SimpleCache()

app = Flask(__name__)
q = Queue(connection=conn)

# background process to be run. located in a seperate file
def test():
    for i in range(10):
        cache.set("value", i, 3600)
        time.sleep(1)

@app.route('/')
def home():
    cache.clear()
    q.empty()
    q.enqueue(test, timeout=1000)
    return jsonify({'state':"running"})

@app.route('/current_value')
def get_value():
    return jsonify({'value':cache.get("value")})

但是,这将始终返回null我已经在使用Redis之前完成了此操作,但是SimpleCache不允许在后台进程中设置缓存吗?还是我做错了什么?

亚当·拉默斯(Adam Lamers)

Werkzeug的SimpleCache不是线程安全的。它不实现锁定,因此不打算由其他线程或进程使用。

同样,该文档似乎暗示了将高速缓存存储在进程内存中,这将使得很难将主进程的高速缓存从辅助高速缓存更改。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Windows中为后台进程设置别名?

来自分类Dev

Elixir中的后台进程

来自分类Dev

在Perl中获取后台进程的进程ID

来自分类Dev

在bash中处理后台进程

来自分类Dev

在Python中运行后台进程

来自分类Dev

Unix中的重复后台进程

来自分类Dev

后台进程中的Notification Manager

来自分类Dev

在Flask中禁用缓存

来自分类Dev

在PowerShell中启动独立的后台进程

来自分类Dev

在Linux中杀死后台进程

来自分类Dev

在C中后台运行进程

来自分类Dev

在C中为Shell创建后台进程

来自分类Dev

Shell脚本中的后台进程收到EOF

来自分类Dev

在Android中后台运行进程

来自分类Dev

永久在PHP中运行后台进程

来自分类Dev

如何在PHP中创建后台进程

来自分类Dev

在后台python中运行GPIO进程

来自分类Dev

无法从后台运行的进程中读取 STDOut

来自分类Dev

Flask缓存设置方法抛出KeyError吗?

来自分类Dev

在python子进程中为后台进程使用'&'

来自分类Dev

如何为多个后台进程设置标识符?

来自分类Dev

Windows 7中的进程是否被缓存?

来自分类Dev

如何确定有多少后台进程在 bash 中运行并对每个后台进程进行“等待”?

来自分类Dev

在Hapi中设置缓存头

来自分类Dev

在 Python 中设置进程的时间

来自分类Dev

在Flask中设置权限

来自分类Dev

在Python中运行后台进程,不要等待

来自分类Dev

在Objective-C的后台进程中请求JSON

来自分类Dev

Linux环境中后台进程的优先级是什么