gpt4 book ai didi

python - Cronjob 定期刷新 django View 的缓存

转载 作者:行者123 更新时间:2023-11-28 16:46:55 24 4
gpt4 key购买 nike

我在尝试每小时为特定的 Django View 重置缓存时遇到了一些问题。

现在,我正在使用 cache_page 装饰器通过 Memcached 缓存我的 View 。但是缓存会在一段时间后过期,一些用户的请求会被取消缓存。

@cache_page(3600)
def my_view(请求):
...

我如何编写自己的 django manage.py 命令来从 cron 中每小时刷新一次此 View 的缓存?

换句话说,我在此处的答案中提到的 refresh_cache.py 文件中放入了什么: Django caching - can it be done pre-emptively?

谢谢!

最佳答案

在您的应用中,您可以创建一个名为 management 的文件夹,其中包含另一个文件夹 commands 和一个空的 __init__.py 文件。在 commands 中,您创建了另一个 __init__.py 和一个用于编写自定义命令的文件。我们称它为 refresh.py:

# refresh.py

from django.core.management.base import BaseCommand, CommandError
from main.models import * # You may want to import your models in order to use
# them in your cron job.

class Command(BaseCommand):
help = 'Posts popular threads'

def handle(self, *args, **options):
# Code to refresh cache

现在您可以将此文件添加到您的 cron 作业中。你可以看看这个tutorial但基本上您使用 crontab -e 来编辑您的 cron 作业,并使用 crontab -l 查看哪些 cron 作业正在运行。

您可以在 Django documentation 中找到所有这些以及更多信息.

关于python - Cronjob 定期刷新 django View 的缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13018266/

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