我的任务是定期以编程方式将项目添加到我们的Sitecore数据库中,但几乎没有使用它的经验。使用在线资源,我已经设法了解如何在验证项目尚不存在之后以编程方式创建新项目并将其添加到数据库,但不知道将代码添加到解决方案的位置。 / p>
我原本想在每个时间间隔过后只是启动一个计时器并从Tick
事件处理程序异步运行代码,但是我需要在代码中的某个位置设置计时器被击中一次。我想Sitecore可能还有更好的方法来实现这一目标。
我很感激,如果有人能指出我在哪里放置代码的正确方向,并让我知道是否有更好的解决方案,定期执行一个动作。
答案 0 :(得分:3)
有几种方法可以实现定期运行的任务。根据您的要求和Sitecore提供的产品,您应该选择最适合您的产品。我过去曾使用过以下任务。您可以在Sitecore Climber提供的更多详细信息中阅读有关任务的信息。最好的是John West的职位。
<scheduling>
部分中的URL。这是相对简单的,因为您编写页面,将其放在/ Sitecore / admin文件夹中,然后只需调用URL。我认为<scheduling>
部分处理查询字符串参数的方式可能存在一些问题。您可以在指定URL的同一位置指定运行此时间间隔的时间间隔。这又不是完全定时的,所以它永远不会在确切的时间运行,而是以App池启动时的常规间隔运行。您还必须实施自己的存储方式&#39; Last Run&#39;时间在这里。打开或关闭此功能需要更改配置文件,以便在此处进行应用程序池回收。 使用前两个选项,您需要确保您的频率元素和代理类型=&#34; Sitecore.Tasks.DatabaseAgent&#34;方法=&#34;运行&#34;间隔=&#34; 00:10:00&#34;命名=&#34; Master_Database_Agent&#34;补丁:源=&#34; Sitecore.Processing.config&#34;元素的时间间隔小于您将创建的计划。这可以通过Sitecore Climber的答案在John West的博客中找到。
我希望这会有所帮助。
答案 1 :(得分:2)