Neos21/neos-hatebu

定期処理を考える

Neos21 opened this issue · 3 comments

  • 毎日6時・18時 … エントリ一覧の取得
    • カテゴリ別のエントリ一覧を取得し、エントリ一覧データを作っておく
  • 毎日6時 … 「NG URL」情報の削除
    • 登録から30日経った NG URL 情報を削除する

巡回 URL

ウェブ上からもスクレイピングはできたので、バッチ処理として組み込む。
NG URL は1日406件になったので、30日ではなく14日くらいで消すようにした方が件数的にも良いかも。

スクレイピングのバッチ処理は6時・11時半・17時半に実行されるよう Heroku Scheduler に登録した。
Heroku Scheduler は node bin/crawl.js のようにコマンドを用意できる。
依存する npm パッケージとかは、アプリをデプロイした時の作業ディレクトリがそのまま利用されるようなので、特にバッチ処理用に package.json を別に用意したりする必要はなかった。
Heroku Scheduler は UTC 表示なので、日本時間での実行には9時間ズラす必要がある点のみ注意。