【问题标题】:SharePoint timer jobs not getting invoked未调用 SharePoint 计时器作业
【发布时间】:2009-08-25 11:57:26
【问题描述】:

我有一个已部署到具有多个 Web 前端的服务器的计时器作业。

  • 此计时器作业从分层对象存储中读取其配置。
  • 此计时器作业计划每天在服务器上运行。

但问题是这个计时器作业并不是每天都被调用。我已经在计时器作业的 Execute() 方法中实现了事件日志记录,但我没有看到任何日志正在生成。

  • 关于什么可能导致 SharePoint 计时器服务无法拾取计时器作业以执行的任何想法?如何解决此问题?

  • 对于从多个前端在服务器中运行计时器作业是否有任何“陷阱”?计时器作业会在所有 Web 前端执行,还是任意一个?如何知道哪台机器会有我的事件日志?

  • 这可能是一个愚蠢的问题,但是具有多个负载平衡前端是否会影响分层对象存储的行为方式?

编辑:

其中一位评论者 Sean McDounough(感谢 Sean !!)提出了一个非常好的观点:

“计时器作业是否在所有 WFE 上运行将取决于您在构造函数中指定的 SPJobLockType 枚举值。使用“无”值意味着该作业将在所有 WFE 上运行。”

现在,我的计时器工作负责定期向用户列表发送邮件。目前它被标记为 SPJobLockType.Job"

  • 如果我将其更改为 SPJobLockType.None,这是否意味着我的计时器作业将在所有 WFE 中分别执行? (这是不希望的,它会向所有用户发送多封电子邮件)

  • 或者这是否意味着计时器作业将在任何一个 WFE 中任意执行?

【问题讨论】:

    标签: sharepoint moss wss sharepoint-2007 timer-jobs


    【解决方案1】:

    尝试使用 NET STOP SPTIMERV3 后跟 NET START SPTIMERV3 从命令行重新启动 SharePoint 计时器服务。我的猜测是计时器服务正在使用旧版本的 .NET 程序集运行。升级 WSP 解决方案时,计时器服务不会自动重新加载程序集。

    【讨论】:

    • Lars 的优秀观点,它通常会吸引使用计时器服务的开发人员(包括新手和经验丰富的)。还有一点需要注意,ashwnacharya:计时器作业是否在所有 WFE 上运行将取决于您在构造函数中指定的 SPJobLockType 枚举值。使用“无”值意味着作业将在所有 WFE 上运行。但是,“Job”的值意味着它将仅在一台服务器上运行——您提交作业的那台服务器(除非您在构造函数中指定了特定的 SPServer)。
    • 我猜你有 TimerJopb 在你的开发机器上运行?如果没有,请在stackoverflow.com/questions/985581/… 上查看我的问题,看看是否有任何问题......
    【解决方案2】:

    为此,请按以下步骤操作:

    • 停止定时器服务。
    • 单击开始,指向管理工具,然后单击服务。
    • 右键单击 Windows SharePoint Services 计时器,然后单击停止或重新启动服务。

    这个URL帮助了我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多