在没有芹菜的Django计划任务?

2024-09-28 20:46:06 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的应用程序中,用户的积分(点数)与他们的每月订阅数相关联。在

我想在每个月的特定日期自动为每个用户重新充值。 请注意,对于每个用户,此日期是不同的(取决于订阅的日期)

我听说芹菜是用来安排任务的,它似乎满足了我的需要,但可能有点过头了。有没有更简单的方法(或者嵌入Django中)来实现呢?在


Tags: django方法用户应用程序芹菜点数充值过头
1条回答
网友
1楼 · 发布于 2024-09-28 20:46:06

您可以创建一个服务来检查您的记录并执行您需要的操作。在

以下是项目根目录中的文件的简单示例,如下所示:

  • 管理.py在
  • 我的_服务.py
  • 项目名称

因此my_service.py的源代码可以是:

#!/usr/bin/env python
import os
import sys
import time
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project_name.settings")

form django.contrib.auth.models import User
while True:
    rows = User.objects.filter(created___startswith=...)
    if not rows:
        print 'sleep...'
        time.sleep(10)
        continue
    [you actions should be here]

然后通过python my_service.py命令在后台运行它。在

或者您可以将此脚本添加到cron作业中(如果是,则此部分将更改):

注意:如果要将其添加到cron job中。您应该将while True更改为有限循环,如下所示:

^{pr2}$

现在,要将它添加到每1小时运行的cron作业中,请看一下this link它有许多关于它的示例。在

注意:这只是一个例子。您应该将模型名称更改为您的模型名称+查询。在

相关问题 更多 >