審査 v1

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

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

flow
on failure人に回すon timeout承認, 却下審査 v151 結果 = 採点する(…)jev · jev-1.13.0retry 2 times every 10 seconds on 混雑, 過負荷 · timeout 10 seconds52 fail 採点不能"申込 {申込.id} を採点できませんでした"53 判定 = 方針(…)rule 審査の方針.ruletimeout, failure → ワークフローが失敗する!54 match 判定.決定57 承認の期限 = 承認の期日.期限(…)dates 承認の期日.caltimeout, failure → ワークフローが失敗する!58 返事 = 承認を求める(…)自分で書くタスク(応答はコールバック)timeout until 期限timeout → 59 行目; failure → ワークフローが失敗する!59 fail 承認なし"3 営業日後の 17 時までに承認がありません"60 知らせる(…)自分で書くタスクtimeout, failure → ワークフローが失敗する!61 succeed 判断 = 承認62 知らせる(…)自分で書くタスクtimeout, failure → ワークフローが失敗する!63 succeed 判断 = 結果.判断

呼び出し

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

終わり方

行終わり方
52fail 採点不能 "申込 {申込.id} を採点できませんでした"
59fail 承認なし "3 営業日後の 17 時までに承認がありません"
61succeed 判断 = 承認
63succeed 判断 = 結果.判断