2017-01-24 3 views
0

私が知りたいことは です: Pythonスクリプト(例えば毎日午後1時)をスケジュールするとき、私はスクリプト(またはスパイダー)常に「開く」。つまり、私はPythonを常に実行させる必要がありますか?私はスケジューラーライブラリを使用することを避けました。なぜなら、人々はpythonスクリプトが殺されず、保留中で次のタスクを待っていると言うからです。 私が遠くに行ってきたことは、Windowsスケジューラを使ってスクリプト(クローラ)を毎日自動的に実行することでした(人々はこれを「バッチプロセス」と呼んでいます)。しかし、今私はサーバー側でこれらの仕事をしなければなりません、私のローカルではなくなりました。スケジューラと同時にPythonスクリプトを毎日実行するにはどうしたらいいですか?

したがって、Pythonスケジューラライブラリを使用して、Windowsスケジューラと同じPythonスクリプトを実行するにはどうすればよいですか?

+0

サーバー上にありますか? OSとは何ですか?なぜWindowsスケジューラや 'cron'を使用できないのですか? –

+1

私たちはWindowsサーバーを持っていないからです。代わりにLinuxサーバーがあると聞きました。 – ritos

+1

さて、あなたは 'cron'へのアクセス権を持っています。それは –

答えて

2

cronはlinuxで使用できます。私は共有ホスティングサーバーでPythonスクリプトを実行するためにcronを使用します。また、サーバにPythonモジュールをインストールする必要がある場合は、virtualenvを使用して仮想環境を作成する必要があります。私の経験から、あなたのスクリプトがあなたのpythonスクリプトがきれいに終了しているか、正しく終了していない場合は、Pythonスクリプトが殺されず、サーバリソースを消費する心配はありません:D

+0

を使うべきです。アドバイスをありがとう!! :) – ritos

0

私はシステムタイマー。多くの人がcroncrontabsを使用していますが、システムは24時間稼働していて、簡単にはデバッグできません。

ことにsystemdについて私が好きな一つの主要なもの:すべてにsystemdタイマーイベントを慎重にsystemdジャーナルに記録されます

  • 。 cronの仕事の場合と同様に、あなたのcronの仕事が何をしているのかを確認するのは難しく、混乱することもあります。
  • システムタイマーは、リソース管理、IO CPUスケジューリングのためのすべての機能を備えたsystemdサービスです。
  • ジョブ/ etcを有効/無効/強制終了するのに使いやすいです。ちょうどこれにより:

    systemctl enable/disable/start/stop

  • あなたが別のtimeszonesにあなたはカレンダーや単調な時間とsystemdにスケジュールした場合、私が好きな他の事。さらに多くの便利なデバッグ機能。

    ジョバーはGOタスクスケジューラがあまりにもcronのより強力なツールです:

は、より良い選択肢があります。ジョブの実行履歴とステータス、ジョブが失敗した後にジョブを再実行するかどうか、失敗したときに通知を受け取るかどうか、失敗した場合にのみ失敗したジョブについて制御します。

Hcronは良いものであり、いくつかの素敵な自分自身のファイル内の各個別のイベントを保存する、などの注意事項ではなく、ここで1つのファイルにすべておよび多くを持っている:https://expl.info/display/HCRON/Homeとドキュメントはこちらhttps://expl.info/display/HCRON/hcron+Guide

で希望しますこれは役に立ちます。

関連する問題