放置独立脚本并使用django_rq

时间:2015-03-31 16:40:27

标签: django django-rq

我需要创建一个独立的脚本来访问数据库,从表中获取数据并对其进行处理并将其存储到另一个表中。我也在使用django-rq来运行这个脚本。

  1. 将此脚本放在django项目结构中的哪个位置?
  2. 如果不使用views.py,我应该如何使用django-rq?
  3. 运行此脚本

3 个答案:

答案 0 :(得分:0)

如果我理解你的情况,我会使用自定义管理命令https://docs.djangoproject.com/en/1.7/howto/custom-management-commands/

答案 1 :(得分:0)

在您的一个视图中导入脚本的函数和django-rq,并继续在视图中进行处理。

答案 2 :(得分:0)

我刚刚处理了同样的问题,一个附加变量是我想每小时运行一个作业,所以除了Django-RQ我还使用RQ-Scheduler

在此方法中,您可以在创建的作业中安排函数调用

scheduler.schedule(
    scheduled_time=datetime.utcnow(), # Time for first execution, in UTC timezone
    func=func,                     # Function to be queued
    args=[arg1, arg2],             # Arguments passed into function when executed
    kwargs={'foo': 'bar'},         # Keyword arguments passed into function when executed
    interval=60,                   # Time before the function is called again, in seconds
    repeat=10                      # Repeat this number of times (None means repeat forever)
)

我在我的Django项目的根目录中创建了一个模块my_helpers.py,它具有完成我想要的工作的功能,并根据需要安排任务。然后在一个单独的shell python manage.py shell中导入帮助程序并运行我的函数来安排任务。

我希望有所帮助,它为我工作。