在应用程序完全可用之前填充缓存

时间:2015-05-20 16:45:36

标签: uwsgi

在应用程序准备好处理请求之前,是否有uWSGI选项/ hook / subsystem来填充缓存? 静态load-file-in-cache不是一个选项。我需要调用一个填充uWSGI缓存的函数或程序。

1 个答案:

答案 0 :(得分:1)

先决条件是uWSGI实际上启用了缓存,例如:

[uwsgi]
cache2 = name=mycache,items=100

启动挂钩有很多选项。看看this page in the uWSGI doc。您可以选择要挂钩的uWSGI启动顺序中的哪一点(as-rootas-userpre-appaccepting1,...),您可以选择在shell exec(exec)和函数调用(call)之间。

config指令可能类似于:

[uwsgi]
call-as-root = cache_clear("mycache")
call-as-user = cache_set("key", "value")

另见Cache functions

我相信load-file-in-cache指令也可以解决您的问题:

[uwsgi]
exec-as-user=/usr/local/bin/populate_my_cache_folder.sh
for-glob = /my/cache/folder/*.*
    load-file-in-cache = files %(_)
endfor =