gpt4 book ai didi

ruby-on-rails - rails : Scheduled task to warm up the cache?

转载 作者:行者123 更新时间:2023-12-04 13:29:13 24 4
gpt4 key购买 nike

我正在使用以下内容来缓存使用 memcached 的慢速加载页面:

caches_action :complex_report, :expires_in => 1.day

Controller 操作受设计身份验证保护。

当前页面在用户第一次请求时被缓存。然后从缓存中提取当天的后续请求。

问题在于初始请求需要 20-30 秒才能加载。是否可以通过计划任务提前填充缓存?

任何建议非常感谢。

最佳答案

这是之前基于 cron 的解决方案的扩展,它使用 curl 存储 cookie 的能力,以便您可以在一个步骤中进行身份验证,然后在下一步中再次使用 cookie 作为经过身份验证的用户。因此,如果您将这些行放在名为“prepare_cache.sh”的脚本中

rm /tmp/cookiejar
curl --request POST -d "login=<username>" -d "password=<password>" -c /tmp/cookiejar http://yourwebpages.url/login
curl --request GET -b -c /tmp/cookiejar http://yourwebpages.url/page_to_cache
rm /tmp/cookiejar

将登录名和密码参数替换为与登录表单中使用的变量相匹配的参数,显然是要调用的 url。我之前删除了 cookiejar 以确保那里已经没有文件,并在最后删除它以确保没有 cookie float 它不应该具有的访问级别。

然后您可以使用 cron 作业调用此脚本:
*/15 * * * * /home/myname/prepare_cache.sh > /dev/null 2>&1

希望这应该有效。当我尝试时似乎对我有用。

关于ruby-on-rails - rails : Scheduled task to warm up the cache?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5282811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com