審査 v1

examples/review/temporal/review.ja.flow · dandori doc

Jev が申込を採点してその確信度も返し、その判断をそのまま実行するか、人の承認に回すかを規則が決める。そのまま承認するには、そのまま却下するより高い確信度が要る。Temporal 向けの版:採点は生成したアクティビティで、専用のタスクキューのワーカーの上で、TypeSafe の API キー(TYPESAFE_API_KEY)で Jev を呼ぶ。そのワーカーは別の言語で書かれていてもよい。お知らせも専用のタスクキューで動く、自分で書くアクティビティ。規則はワークフローのワーカーで動く。承認する人のツールは、生成したクライアントが送る Update でコールバックに応答する

flow
on failure人に回すon timeout承認, 却下審査 v149 結果 = 採点する(…)jev · jev-1.13.0retry 2 times every 10 seconds on 混雑, 過負荷 · timeout 10 seconds50 fail 採点不能"申込 {申込.id} を採点できませんでした"51 判定 = 方針(…)rule 審査の方針.ruletimeout, failure → ワークフローが失敗する!52 match 判定.決定55 返事 = 承認を求める(…)自分で書くタスク(応答はコールバック)timeout 3 daystimeout → 56 行目; failure → ワークフローが失敗する!56 fail 承認なし"三日たっても承認がありません"57 知らせる(…)自分で書くタスクtimeout, failure → ワークフローが失敗する!58 succeed 判断 = 承認59 知らせる(…)自分で書くタスクtimeout, failure → ワークフローが失敗する!60 succeed 判断 = 結果.判断

呼び出し

行呼び出し呼ぶものリトライタイムアウト失敗したとき
49結果 = 採点する(…)jev · jev-1.13.010 秒おきに 2 回(混雑・過負荷)10 秒混雑・過負荷・timeout・failure → 50 行目
51判定 = 方針(…)規則 審査の方針.rule1 秒後と 2 秒後の 2 回(failure)—timeout・failure → ワークフローが失敗する
55返事 = 承認を求める(…)自分で書くタスク(応答はコールバック)—3 日timeout → 56 行目
failure → ワークフローが失敗する
57知らせる(…)自分で書くタスク・idempotent——timeout・failure → ワークフローが失敗する
59知らせる(…)自分で書くタスク・idempotent——timeout・failure → ワークフローが失敗する

終わり方

行終わり方
50fail 採点不能 "申込 {申込.id} を採点できませんでした"
56fail 承認なし "三日たっても承認がありません"
58succeed 判断 = 承認
60succeed 判断 = 結果.判断