2010-11-10 105 views
1

好的,这是第一个。我为Sharepoint设计器中的列表创建了一个工作流程,它是一个基本的if \ else 1步骤工作流程,如果创建或修改了一个项目,它将发送一封电子邮件。经过一些修改(进行更改,发布,测试,重复...)一个奇怪的问题开始后,我现在得到了几份同样的电子邮件发送给我。不是2或3,而是数百。大约20分钟后,他们似乎放慢了速度,但是我担心,因为我不知道他们为什么首先出发。Sharepoint 2007 - Sharepoint Designer发送多封电子邮件的工作流程

运行WSS 3.0,并使用Sharepoint Designer 2007 SP1进行操作。任何帮助将不胜感激。

回答

2

你有没有创建一个无限循环?

即:您的工作流设置为在项目被修改时执行,并且工作流程是否修改项目?

之前到SharePoint 2007 SP2,这将产生一个死循环:

  1. 工作流程开始,因为该项目被修改
  2. 工作流程修改项目
  3. 因为项目进行了修改,其他工作流将启动
  4. 其他工作流程再次修改该商品
  5. 由于商品已被修改,所以还有另一个工作流程会启动
  6. 重复,直到服务器崩溃

在SharePoint 2007 SP2 this was changed和递归工作流程现在是被禁止的,但它看起来像正好与您的工作流程发生。

一段时间后它减慢的原因可能是因为SharePoint或邮件服务器开始过载。

您正在运行哪个版本的WSS 3.0?检入管理中心 - >操作 - >服务器场中的服务器,并针对this table进行验证。 SP2是12.0.0.6421版本,任何较低版本都会受到无限工作流程循环的影响。

+0

我认为你钉了它迈克尔..是的..我正在运行一个工作流,当一个项目被修改既创建和修改。因此,继承人我的问题,我有一个工作流程,有5个步骤(可在下拉列表中)。一旦用户完成任务,他们将更新下拉列表..这将触发工作流将电子邮件发送给分配给相应步骤的人员,并且还更新列表项目以指示现在谁拥有它。第二部分是一个很好的..但那是什么导致它一遍又一遍地修改..和想法如何我可以做到这一点,而不用邮件炸弹用户? – ewitkows 2010-11-11 02:41:36

+1

@ewitkows作为工作流程的第一步,添加一个条件来检查“谁拥有它?”字段为空,如果不是,则停止工作流程。这是假设这个字段只更新一次。如果您需要不止一次更新字段,请添加一个以某种方式跟踪状态的新字段。基本上你必须给工作流程一个检查它是否应该立即执行的方法,如果它不应该停止执行。另一种解决方案是更新到SP2,但这当然说起来容易做起来难。 – 2010-11-11 03:09:02

+0

非常感谢迈克尔,我认为你解决这个问题是正确的 – ewitkows 2010-11-11 13:28:17

相关问题