如何在django中安排任务?

时间:2016-03-02 14:21:48

标签: python django

我有一个django应用程序,它将从mysql备份取决于给定的参数。 我有一个视图,它将从表单中获取用户参数。以下是参数:

1.mysql用户名

2.mysql密码

3.database name

4.backup path

现在我将把参数作为参数提供给我写的一个函数,它将采取mysql备份。现在我需要将它作为一个cronjobs与celery或其他类似的东西。 这是我的观点:

def home(request):
    if request.method == 'POST':
       form = myform(request.POST)
       if form.is_valid():
             mysqlusername = form.cleaned_data['mysqlusername']
             mysqlpassword = form.cleaned_data['mysqlpassword']
             database_name = form.cleaned_data['database_name']
             backuppath    = form.cleaend_data['backuppath']

             backupfunction(mysqlusername, mysqlpassword, database_name, backkuppath)
     else: 
            form = myform()

 def backupfunction(mysqlusername, mysqlpassword, database_name, backuppath):
           (code to take backup)

1 个答案:

答案 0 :(得分:0)

你可以使用django芹菜。其中提供调度程序以及异步任务。详情   https://www.caktusgroup.com/blog/2014/06/23/scheduling-tasks-celery/

您必须在应用中创建task.py文件。并在该文件中编写您的函数

from celery import shared_task

@shared_task()
def testschduler():
    print "scdule task"

在此之后,只需去管理面板创建一个crowntab作业。在数据库中。这将由celryd自动阅读。