• djangocron


    Tivix/django-cron

    django-cron

    Django-cron lets you run Django/Python code on a recurring basis proving basic plumbing to track and execute tasks. The 2 most common ways in which most people go about this is either writing custom python scripts or a management command per cron (leads to too many management commands!). Along with that some mechanism to track success, failure etc. is also usually necesary.

    This app solves both issues to a reasonable extent. This is by no means a replacement for queues like Celery ( http://celeryproject.org/ ) etc.

    Installation

    • Install django_cron (ideally in your virtualenv!) using pip or simply getting a copy of the code and putting it in a directory in your codebase.

    • Add django_cron to your Django settings INSTALLED_APPS:

          INSTALLED_APPS = [
          # ...
          "django_cron",
      ]
      
    • If you're using South for schema migrations run python manage.py migrate django_cron or simply do a syncdb.

    • Write a cron class somewhere in your code, that extends the CronJobBase class. This class will look something like this:

      from django_cron import CronJobBase, Schedule
      class MyCronJob(CronJobBase):
          RUN_EVERY_MINS = 120 # every 2 hours
      
          schedule = Schedule(run_every_mins=RUN_EVERY_MINS)
          code = 'my_app.my_cron_job' # a unique code
      
          def do(self):
                      pass    # do your thing here
      
    • Add a variable called CRON_CLASSES (similar to MIDDLEWARE_CLASSES etc.) thats a list of strings, each being a cron class. Eg.:

          CRON_CLASSES = [
          "my_app.cron.MyCronJob",
                  # ...
      ]
      
    • Now everytime you run the management command python manage.py runcrons all the crons will run if required. Depending on the application the management command can be called from the Unix crontab as often as required. Every 5 minutes usually works for most of my applications.

    This opensource app is brought to you by Tivix, Inc. ( http://tivix.com/ )

  • 相关阅读:
    ASP.NET Web API 2 之文件下载
    Windows 查看某个端口号是否被占用
    C# 数据类型之 String(字符串)
    数据表对应关系(一对一、一对多、多对多)
    嫁给程序员的好处,你get到了吗?
    ASP.NET Web API 2 之 HttpRequestMessage 对象
    C# 使用 log4net 记录日志
    Chrome 浏览器快捷键
    C# 获取程序运行时路径
    SpringBoot整合Pagehelper分页插件
  • 原文地址:https://www.cnblogs.com/lexus/p/2465839.html
Copyright © 2020-2023  润新知