2

私は Django、Python、および Web 開発が初めてで、学習プロジェクトとして RSS リーダーを作成しようとしています。ここで、すべてのチャネルで新しいコンテンツを定期的にチェックする部分を実装するための支援が必要です (たとえば、15 分ごとなど)。これにはcronジョブが必要であり、カスタム管理コマンドがそれを行う方法です。私はそれをよく知っています. しかし、私はそれを実装する方法を理解するのに苦労しています。このリンクは、ほとんどの人がSOで推奨しているものですが、たとえば、X時間部分のスケジューリングについて説明していないなど、あまり役に立ちませんでした.

15 分ごとにチャンネルで新しいコンテンツをチェックする方法をコードで説明してください。前もって感謝します。

4

2 に答える 2

2

実際には、「15 分ごと」のビットが最も簡単です。1回チェックするコマンドを作成したら、15 分ごとにコマンドを実行するように cron を設定します。

この記事では、cron の一般的な概要と設定方法について簡単に説明します。

cron を実行する際の注意事項:

  1. Cron プロセスは独自のシェル (通常は/bin/sh) で実行されるため、すべてのカスタマイズ ( に追加したものなど) にはアクセスできませんPATH
  2. これは、実行する必要があるすべての実行可能ファイルへのフル パスを提供する必要があることも意味します。たとえば、pythonではなく/usr/bin/python、またはシステムに適用できるものは何でも入力してください。
  3. 通常、cron タスクの結果は、システム ユーザー アカウントに電子メールで送信されます。これらのメッセージは、メール リーダーをインストールすることで確認できます。muttは私のお気に入りのコンソール メール リーダーです。MAILTOcron の結果をメールにリダイレクトする場合は、cron ファイルに変数を設定できます。
  4. また、コマンドのような一般的なバシズムsourceは cron では機能しないことに注意してください。

管理コマンドを作成したら、独自の crontab ファイルに追加するだけです。このファイルには、システム全体の cron プロセスが実行するすべてのコマンドがリストされています。

crontab ファイルを編集するにcrontab -eは、コンソールから入力します。

コメントではないファイル内の各行はエントリです。エントリは頻度で始まり、次に実行するコマンドです。一般的な形式は次のとおりです。

*    *    *    *    *  command to be executed
┬    ┬    ┬    ┬    ┬
│    │    │    │    │
│    │    │    │    │
│    │    │    │    └───── day of week (0 - 7) (0 or 7 are Sunday, or use names)
│    │    │    └────────── month (1 - 12)
│    │    └─────────────── day of month (1 - 31)
│    └──────────────────── hour (0 - 23)
└───────────────────────── min (0 - 59)

任意の位置のアスタリスク*は「すべて」を意味します。

15 分ごとに何かを実行するには:

0/15**** /usr/bin/python /home/myuser/project/manage.py foo
于 2013-01-13T07:19:52.003 に答える
0

これに対する将来の参照のために、頻度パラメータはスペースで区切られています(おそらく投稿で失われています)。さまざまな組み合わせを試すのに適した場所は、www.dataphyx.com /cronsandbox/です。

于 2013-01-22T05:32:01.993 に答える