问题标签 [timer-jobs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2898 浏览

sharepoint - 工作流自动清理计时器作业未运行

我正在测试几个工作流的工作流历史清理时间间隔。工作流程历史记录需要保留特定天数。我已经实施了这里推荐的解决方案

我的问题是,现在我需要测试我的代码以查看工作流历史是否在确切的天数后被清理。

我开始知道工作流程历史记录是由每天运行的名为“工作流程自动清理”的计时器作业清理的。

但在我的情况下,工作流历史清理似乎没有运行,因为在 "Central Administration > Operations > Timer Job Definitions > Edit Timer Job" 中,上次运行时间显示为 "N\A"

我在这里有什么遗漏吗?我应该怎么做才能使这个计时器作业正常运行?

更新:检查 SharePoint 日志会显示以下消息:“升级作业定义已存在,等待现有升级完成”

0 投票
5 回答
13194 浏览

sharepoint - 如何指示 SharePoint 场在特定服务器上运行计时器作业?

我们有一个 SP 计时器作业,它运行了很长一段时间。最近,管理员将另一台服务器加入场,因此 SharePoint 决定开始在另一台服务器上运行此计时器作业。问题是服务器上没有安装所有依赖项(即 Oracle),因此作业失败。我只是在这里寻找阻力最小的路径。我的问题是有没有办法强制计时器作业在您想要的服务器上运行?

[编辑] 如果我可以通过适合我的代码来做到这一点。如果确实存在 API,我只需要知道执行此操作的 API 是什么。

0 投票
1 回答
9810 浏览

sharepoint - 计时器作业功能的范围

我是第一次写一个计时器作业。我正在关注可以通过谷歌搜索获得的示例作为我的参考。

在许多此类文章中,我遇到了被激活到站点集合级别或站点级别的计时器作业功能。

我觉得这很奇怪,因为特定 Web 应用程序只能有一个计时器作业实例。

不应该将所有计时器作业功能都限定为 Web 应用程序吗?

我在这里错过了什么吗?

0 投票
3 回答
656 浏览

php - 使用 PHP+MySQL 的服务器进程

我是网络编程新手,我正在使用 PHP + MySQL 开发一个简单的约会应用程序。有没有一种简单的方法可以在计时器上添加后台进程(例如,发送每日约会提醒)?这可以用另一种语言轻松完成,但我希望它只使用 PHP 在共享主机上运行。

0 投票
3 回答
5200 浏览

sharepoint - 调试 Sharepoint 计时器作业

我正在创建我的第一个计时器作业并想对其进行调试。我已经通过一项功能安装了计时器作业,并将其添加到 Web 应用程序的 JobDefinitions 集合中,并添加了一个 SPMinuteSchedule 以每 5 分钟运行一次(用于测试目的)。

然后,在 Visual Studio 中,我尝试将调试器附加到 WebApplication 的进程、中央管理进程和 OWSTIMER.exe 进程,但它不会调试到 TimerJob 的执行方法。我在这里想念什么。

PS 计时器作业状态显示成功,所以它正在运行。奇怪的...

0 投票
3 回答
10503 浏览

sharepoint - 创建定时器作业的问题

我在 Web 应用程序中创建了一个网站集,用户 A 作为网站集管理员。我在站点功能页面中添加了一个链接。单击该链接时,我正在尝试创建一个计时器作业。以下是单击该链接时执行的代码

现在,当我使用用户 A 登录并单击“站点设置”页面上的该链接时,我在 line 处收到一条带有“Access Denied”消息的安全异常automaticArchiveJob.Update()。但是,如果我使用管理员用户登录(我也使用此用户登录到机器)并单击它成功创建作业的链接。我也让用户 A 成为WSS_ADMIN_WPG组的成员,但仍然遇到同样的问题。我还需要做些什么来解决这个问题。

0 投票
2 回答
1637 浏览

sharepoint - 备份和恢复定时器作业 WSS 3.0

是否可以使用 Timer Job 安排 WSS 站点的备份和还原?或者 WSS 3.0 是否提供相同的 OOTB 功能?

谢谢,光辉

0 投票
2 回答
4053 浏览

sharepoint - 尽管网站集不存在,SPSite.Exists() 返回 true

我目前正在开发一个 TimerJob,它进行一些网站集管理。当作业运行时,它会查看一个列表以检索网站集的 URL,然后它会调用SPSite.Exists()以检查该网站是否仍然存在。

为了测试 TimerJob,我删除了一个网站集,但在列表中留下了相应的条目。然后我启动 TimerJob 并在调试模式下单步执行它的代码。当涉及到检查站点是否存在时SPSite.Exists()返回true。

当我为同一个网站集第二次运行 TimerJob 时,该SPSite.Exists()方法应返回 false。

所以现在我想知道为什么SPSite.Exists()在我第一次运行作业时返回错误结果。这可能是由缓存引起的吗?

当我在 TimerJob 之外运行相同的代码时,每次都会SPSite.Exists()返回正确的结果。


更新

所以我做了一些更多的调试,似乎这个问题确实是由一些缓存机制引起的,因为在删除测试网站集之后和 TimerJob 启动之前重新启动 Windows SharePoint Services 定时器服务时不会发生这种情况。

目前,除了尝试访问已删除的站点并捕获将引发的异常以确定该站点是否确实存在之外,我无法想象另一种解决方案。


更新 2

经过更多测试后,我意识到在 Timer Service 重新启动后第一次调用 SPSite.Exists() (在 TimerJob 内)不会出现问题。第二次调用(针对不同的网站集)仍然会导致已知问题。


更新 3

目前我正在使用一个丑陋的黑客来解决我的问题。当 SPSite.Exists() 尽管它实际上不存在但返回 true 时,我创建了一个 SPSite 对象并尝试通过调用其 Usage 属性来引发 FileNotFoundException。当出现异常时,我知道该站点不存在。奇怪的是,在抛出异常后 SPSite.Exists() 返回正确的结果 (false)。

还有其他建议吗?

再见,弗洛

0 投票
3 回答
979 浏览

sharepoint - SharePoint 功能激活表单

当用户激活网站上的功能时,我想从用户那里收集一些信息。就像将工作流添加到列表时的 WF 关联表单一样。

我的特定场景是创建一个计时器作业的功能,该作业每周将文档库作为 PDF 导出到特殊的暂存数据库。激活该功能后,我想向用户询问数据库的连接字符串、源文档库和更新间隔。

0 投票
1 回答
3268 浏览

sharepoint - TimerJob开发,SPMinuteSchedule的EndSecond属性是什么意思

我目前正在开发一个使用一些 TimerJobs 的项目。其中一项工作应该大约每 2 分钟检查一次某些特殊用户的 MySites。所以我创建了一个 SPMinuteSchedule 对象并将 BeginSecond 属性设置为 0,将 Interval 属性设置为 2。我认为这两个属性的使用似乎很明显,但我不确定如何解释 EndSecond 属性。

如果 EndSecond 设置为 30 并且 BeginSecond 设置为 0,是否意味着 Timer Service 将在这 30 秒内的某个位置启动作业,并且该作业需要执行其代码所需的时间?还是意味着作业只能运行 30 秒?如果在 Execute() 方法中执行的代码需要更多时间才能完成,会发生什么?

无论答案是什么,属性的名称“EndSecond”都没有被很好地选择。