メインコンテンツへスキップ

uniPaaS V1 Plius、メモリWF、タスク後処理で1件進む

コメント

6件のコメント

  • Tanda

    nkmtさん、

    > そもそもタスク後処理で、自分のタスクのメインソースの値を見ては
    > いけないんでしたかね?

    見てはいけないわけではないのですが、「見るべきではない」といったところなのでしょうかね。

    タスク後処理ではポインタが次のレコードに行っている可能性がありますね。

  • nkmt

    tandaさん ありがとうございます。
    > 見てはいけないわけではないのですが、「見るべきではない」といったところなのでしょうかね。
    そうなんですね。まだまだMagicをわかりきっていない自分です。

    そのタスクのメインソースは改造前はSQL Serverで問題ないロジックだったのですが
    今回、そのタスクのメインソースをメモリWFへ変更しました。

    バグ修正に2時間かかってしまいました。
    でも直って良かったです。

    SQL Serverの場合は、WHEREでしっかり範囲指定をして余計なレコードを取得しない。
    メモリWFやActianの場合は、次レコードまでGETしている。
    といった推測をしますが、

    とにかくタスク後で、自タスクのメインソースの値を取得するのは
    No Goodと理解して今後気を付けたいと思います。

    とまあ恥ずかしい投稿かもしれないですね。

  • Tanda

    nkmtさん、

    絶対に見てはいけないということでしたら、F8の構文チェックで引っかかるはずですね。

  • nkmt

    なるほどですね。
    タスク後でメインソースの値を見るのは要注意と心得たいと思います。
    そういえばMagic Optimizerでは、
    ・タスク前でカラム項目を使用しています の警告があったと思いますが
    ・タスク後でカラム項目を使用しています の警告は無かったかもです。

  • Tanda

    nkmtさん、

    タスク前ではレコードをロードしてないですから見えないのは当然ですが、タスク後ではトランザクションキャッシュをわざわざクリアすることもないからなのだと思います。

  • Tanda

    トランザクションの終了は必ず「タスク後の後」で行われますからね。

サインインしてコメントを残してください。