我应该在Django框架中放置一次性操作操作?

use*_*048 3 python django

我想执行一些一次性操作,例如启动后台线程并在Django服务器启动时每30分钟填充一次缓存作为初始化操作,因此它不会阻止用户访问网站.我应该把所有这些代码放在Django中?

  • 将它们放入setting.py文件不起作用.它似乎会导致循环依赖.
  • 把它们放到__init__.py文件中是行不通的.Django服务器多次调用它(是什么原因?)

Pet*_*ell 6

我只是创建独立脚本并使用cron安排它们.不可否认,它有点低技术,但它只是工作.只需将它放在项目顶级目录中的脚本顶部,然后根据需要进行调用.

#!/usr/bin/env python
from django.core.management import setup_environ
import settings
setup_environ(settings)
from django.db import transaction

# random interesting things
# If you change the database, make sure you use this next line
transaction.commit_unless_managed()
Run Code Online (Sandbox Code Playgroud)

  • @ diegueus9:好的,*为什么*芹菜更好?特别?我已经用Google搜索了它,似乎......还没准备好迎接黄金时段.当我做生产的东西时,我得到*非常保守*.我已经看到了太多精彩的下一个伟大的东西,不知何故未能满足我的期望.对于新用户来说,Cron可能是粗糙/神秘的,但我已经使用它20年了,它作为一块坚如磐石.这就是我想要的作品. (2认同)