0

「待機中」または「完了」のいずれかの値を含む「ステータス」というタイトルのフィールドと、「期日」列を含むドキュメント ライブラリがあります。

リスト アイテムのステータスが「完了」に設定されているか、「期日」に達したときに電子メールを送信する SP2010 ワークフローを設計しています。

このロジックに対処するために、次のような方法で ConditionedActivity グループを使用しています。

CAG: Until isComplete=true || isExpired=true
    Sequence1 - run once
    While isComplete=false
            OnWorkFlowItemChanged: set isComplete
Sequence2 - run while isComplete=false
        IfElseActivity
            if "Due date" has been reached
        isExpired=true
    else
        Delay for x amount of time

DelayActivity が遅延を選択する時間に関して独自の考えを持っているように見えることは気にしないでください。しかし、OnWorkFlowItemChanged アクティビティが実行されるまでには長い時間がかかります (最悪の場合、瞬時から > 10 分まで)。リストを更新しました。

これの原因は何ですか?最初は、Delay アクティビティが最初のシーケンスをブロックしているだけだと思っていましたが、ログを見ると、Delay アクティビティが 2 番目のシーケンスをスリープしている間に OnWorkFlowItemChanged イベントが発生することがわかります。

これはこれを行う方法ですか?どうにかしてこの問題を解決できますか、またはこれを達成する方法について他の選択肢がありますか?

4

1 に答える 1

0

実稼働環境では、特に処理するワークフロー アクティビティの負荷が高い場合、ワークフロー アクティビティが一定期間待機することがあります。ワークフロー ステータス ページをチェックして、ワークフロー アクティビティが処理のためにキューに入れられていないことを確認します。赤色のテキスト エラー メッセージである必要があります。

于 2013-11-05T21:12:34.353 に答える