HEROKU初心者が今更わかったことその1 dynoの種類(役割別)

作成日: 2024-08-25
最終更新日: 2024-08-25

ニュース要約

dynoの種類(役割別)

  1. Web dyno
  2. Worker dyno
  3. One-off dyno

Web Dyno:

WebアプリケーションやAPIサーバーを実行するためのメインのプロセス。HTTPリクエストを処理する用途に最適。

Worker Dyno:

バックグラウンドジョブや非同期タスクを実行するために使用。Webリクエストとは独立して動作する長時間の処理に適している。

画像の処理やメール送信タスクなど

One-off Dyno:

一時的なタスクを実行するためのDyno。バッチ処理、データベースマイグレーション、デバッグなど、特定の作業が完了すると自動的にシャットダウンする。

add-onでheroku shedulerというものがあるが、これを使ってメインのpythonプログラムの中に書いたメソッドを時間指定して実行できる。ただ、その際に使用されるのはweb dynoではなくOne-off dynoでとなる。

公式:HEROKU schedulerについて

メインプログラムファイルと同階層にOne-off dyno用のプログラムを書いて、

heroku run python manage.py migrate --app your-app-name

heroku run python プログラム名.拡張子 メソッド名 --app アプリ名

のように手動で実行しても同じ

heroku schedulerで実行の場合は1つにつき最低実行間隔が10分となっているが、これをもっと短い感覚で常に実行するような場合はWorker-dynoを使用した方が良いようだ。

One-off dynoでそのような使い方をすると費用がかなりかかるらしい。基本的に定額制のHEROKUだがここには注意が必要である。

——

執筆中です

Tags: HEROKU

関連記事