出力について
ジョブフローAは、オブジェクトBのフィールド1~フィールド10を順次更新するものとします。その場合
①ジョブフローAが実行中にオブジェクトBをexport_data、又はdump_dataすると、オブジェクトBはどのような状態で出力されますでしょうか?
②また、上記のケースで、オブジェクトBをジョブフローAの実行前、又は実行後の状態で出力させるDBトランザクションのような考え方はありますでしょうか?
-
正式なコメント
①につきましては、ジョブフローAの書き方に依存します。
以下のようにフィールド値をまとめて更新した場合、更新は1つのトランザクション内で処理されます。
[{"field1": "val1", "field2": "val2", ..., "field10": val10"} >> ./objectB] -> ...したがって、上記実行中に export_data や dump_data すると、タイミングによって、フィールド1~10の更新前か更新後のいずれかで出力されます。
しかし、以下のように、フィールドの更新を分けて書いた場合は、トランザクションは、フィールド毎になりますので、書き込み途中のデータで出力される可能性があります。
["val1" >> ./objectB["field1"]] -> ["val2" >> ./objectB["field2"]] -> ...
②につきましては、上述のようにトランザクションはジョブフローの書き方で暗黙的に処理されており、ジョブフロー側で明示的にトランザクションを扱う機構は提供しておりません。
コメントアクション
サインインしてコメントを残してください。
コメント
1件のコメント