2016-10-19 7 views
-1

djangoウェブアプリケーションでScheduleを使用してジョブをスケジュールする必要があります。Djangoでジョブをスケジュールするにはどうすればよいですか?

def new_job(request): 
    print("I'm working...") 
    file=schedulesdb.objects.filter (user=request.user,f_name__icontains ="mp4").last()  
    file_initiated = str(f_name) 
    os.startfile(f_name_initiated) 

私は

GIVEN DATETIME = schedulesdb.objects.datetimes('request_time', 'second').last() 
schedule.GIVEN DATETIME.do(job) 
+0

try [Celery](http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html) –

答えて

0

DjangoはWebフレームワークであるデシベルでフィルタリング時間でそれを行う必要があります。それは要求を受け取り、必要な処理を行い、応答を送信します。それは、時間を追跡し、スケジュールされたタスクを実行できる永続的なプロセスを持っていないので、Djangoだけを使ってそれを行う良い方法はありません。つまり、Celery(http://www.celeryproject.org/)は、タスクを実行するために特別に構築されたPythonフレームワークです。スケジューリングとオンデマンドの両方が可能です。最小構成でDjango ORMと統合されています。私はそれを調べることをお勧めします。

もちろん、あなたが言及したスケジュールモジュールを使用する独自の外部スクリプトを作成することもできます。データベースにsheduleオブジェクトを書き込む方法を実装する必要があります。スクリプトを読み込んで実行することができます。あなたの "スケジュールb"モデルは既に実装されていますか?

+0

はい私は "scheduledb"の準備ができています! – Avii

+0

セロリをチェックしていましたが、あらかじめ定義された時間にカスタムジョブを実行できると思います。 – Avii

+0

セロリをチェックしていましたが、あらかじめ定義された時間にカスタムジョブを実行できると思いますCELERYBEAT_SCHEDULE = { '毎秒':{ ''schedule':timedelta(seconds = 5)、 }、 }ユーザーが指定した時間にジョブを実行できるものが必要です... – Avii

関連する問題