0
0

More than 1 year has passed since last update.

heroku scheduler

Posted at

heroku schedulerを使い、タスクスケジュールを実行する

heroku schedulerとは
Paasサービスherokuにてデプロイしたアプリの定期的なタスクスケジュールを管理する無料のadd-onです。

私の取り組んでいるアプリ

初学者です。JavaEEで、フードロス対策の視点から、食料品店の売れ残り商品を値下げしたものを各店舗が公開し、消費者が閲覧する簡易なアプリを作っています。

schedulerを使用した箇所

各商品に販売開始・終了時間を設定し、終了時刻になったら商品を終了表示にする。という部分にsqlとheroku schedulerを使用しました。

SQL

SQLはpostgreSQLです。

		 String sql = "INSERT INTO endGoods(カラム)select
       カラム from goods where end_time <= clock_timestamp()" ;
	

・2つのテーブルgoodsとendGoodsを用意し、指定条件時にテーブル間をデータが移動します。

・ <=clock_timestamp() は現在時刻または現在時刻以前のものを対象とします。

heroku scheduler

image.png

・scheduler の設定方法は以下を参考にしました。
 https://devcenter.heroku.com/ja/articles/scheduler

・curl コマンドでsql実行文を記述したservletを指定します。
 curlコマンドとは、Web サイトへ http リクエストを送信してコンテンツを表示するというものだそうです。以下サイトなどを参考にしました。
 https://tech-lab.sios.jp/archives/29999

・heroku はUTCの設定なので時差を考慮します。
 herokuのアプリのTZをbashで確認し、JSTに変更するには、、以下のサイトを参考にしました。
 https://qiita.com/Horie1024/items/85688099707610f70fa6

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0