gpt4 book ai didi

c# - Windows 工作流延迟 Activity 行为

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:28 24 4
gpt4 key购买 nike

我觉得我的问题有点直截了当,但我在“背景信息”部分添加了我的问题的一些细节,以防它太模糊。

问题

WorkflowServiceHost 如何确定持久化 Activity (由于延迟而空闲)已达到延迟超时?它是否将它加载到内存中并经常检查,还是这里发生了其他事情?

背景信息

所以,我对工作流有点陌生,我正在尝试确定将它用于需要 3 个月延迟的业务流程的可行性。基本上,业务流程是让客户试用 3 个月的升级服务。为此,我正在考虑实现一个 Pick Activity ,该 Activity 在 WCF Receive(“Cancel upgrade receive”)和 3 个月的 Delay Activity 之间进行拆分。如果延迟到期,它们将永久升级并更新计费。或者,如果取消被初始化,那么......是的,你明白了:)

所以....我关心的是在使用 SQL 工作流持久性时如何实现延迟。我不想在持久性存储中结束 500 个 Activity ,这些 Activity 必须在 3 个月内每 10 分钟加载一次,以检查 Delay Activity 是否过期。

最佳答案

根据 https://msdn.microsoft.com/en-us/library/ee829473(v=vs.110).aspx ,它的工作方式是:

The SQL Workflow Instance Store runs an internal task that periodically wakes up and detects runnable or activatable workflow instances in the persistence database

可激活的工作流是满足以下任一条件的工作流:

  • 实例已解锁并且有一个已过期的挂起计时器。
  • 实例上有一个过期的锁。
  • 实例已解锁,状态为正在执行。

因此 OP 的建议(“它是否将其加载到内存中并经常检查”)是正确的。

我自己尚未确认此行为,但在寻找完全相同问题的答案时偶然发现了此线程,然后找到了相关的 MSDN 文章,我想与您分享。

希望这对您有所帮助。

关于c# - Windows 工作流延迟 Activity 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3835863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com