0

我有一个 Django 应用程序,它为 apis 使用了美味派。当我点击 url 并仅获取特定用户所需的数据时,python 模块会进行复杂的财务计算。对于计算,一些数据是从 postgress 中获取的,而另一些是从 mongodb 中获取的。

我不希望在我点击 url 时完成计算,它应该在 3 分钟内完成一次并存储在内存中。当我点击 url。它应该获取当前用户可用的数据,而不是获取所有数据。

告诉我怎么做!我不知道在哪里看!任何帮助都会很棒。

4

1 回答 1

1

1. 为缓存数据制作数据库模型。

Django 文档

2.创建一个manage.py命令来进行计算并将其从1存储到模型中。

project/calcucaltion_app/management/commands/calculate_data.py

from django.core.management.base import BaseCommand
from calculation_app.models import my_model

class Command(BaseCommand):
    args = "No arguments needed"
    help = "This script calculates financial data and caches it"

    def handle(self, *args, **options):
        # TODO code here

记得把空__init__.pymanagementcommands文件夹。在此之后,您可以调用您的脚本,./manage.py calculate_data并且该脚本将可以访问 django ORM。有关更多信息,请参阅Django 文档

3. 做一个 cron 作业,每 3 分钟触发一次,并从 2 调用命令。

crontab -e在您的 linux 服务器上运行并添加:

*/3 * * * * /path/to/django/manage.py calculate_data

如果您设置了一个virtualenv,您可能需要进行调整。

4. 制作一个可处理从 1 中的模型获取数据的美味派模型。

美味的文档

于 2013-06-30T09:02:28.417 回答