bricolages / bricolage

AWS-oriented Data Warehouse Framework
113 stars 20 forks source link

Add database task queue #114

Closed ragi256 closed 4 years ago

ragi256 commented 5 years ago

bricolageのqueueを実行環境のローカルファイルとして管理する方法とは別に、専用データベースを使って管理する方法を追加します。

一度方針を確認していただくためにDraft PR化しておきます。まだWIPです。

各コミット内容

3900866 PostgreSQLにridgepoleで必要なテーブル用意する 6b62a8b TaskQueue用のテストを用意しつつ、DatabaseTaskQueueを追加する

ToDo

  1. testが通るように修正する
  2. 生SQLを触っているのをなんとかする
    • Job, JobNet, JobExecution, JobExecutionState classをそれぞれ作るはず
  3. 実行からの流れに手を加える
    • optionの付け方とかデフォルトがDB or Fileなのかとか

考え中

設計時に*.LOCK のことを忘れていた。lock/unlockjob_executions/statusで表現して他の状態を示すものをmessageに書こうか、lock用カラムを追加するか (今のところは前者で書いているが、後者のほうが良さそうに感じる)

ragi256 commented 5 years ago

PRのコメント全てを対応修正し、全テストを通した上でローカルのdev環境で実行できることを確認しました。 PRをdraftからReady for reviewに移します。

aamine commented 4 years ago

LGTM