2

在 sitecore 中,我们有代理和任务的可能性。但是什么时候用哪个还不是很清楚。我的情况:我想在每晚的指定时间运行一个(可能需要半小时)进口商。导入器会将数据从外部源导入到 sitecore。哪个更好:代理还是任务?

4

1 回答 1

4

它们的意思大致相同。

您可以在web.config该部分下定义计划代理<scheduling>,但是一些开箱即用的代理位于Sitecore.Tasks命名空间中。所以它们看起来是同一个,但实际上一切都是代理

在 Sitecore 本身中,/sitecore/system/tasks您将在下面看到同一事物的定义项。这些被称为“任务”,但实际上,它们只是根据计划运行的逻辑定义项。事实上,这些只是一种对 CMS 友好的方式来定义web.config代理中的内容。存在从 CMS 处理这些的已配置代理:

<!-- Agent to process schedules embedded as items in a database -->
<agent type="Sitecore.Tasks.DatabaseAgent" method="Run" interval="00:10:00">
  <param desc="database">master</param>
  <param desc="schedule root">/sitecore/system/tasks/schedules</param>
  <LogActivity>true</LogActivity>
</agent>
<!-- Agent to process tasks from the task database (TaskDatabase) -->
<agent type="Sitecore.Tasks.TaskDatabaseAgent" method="Run" interval="00:10:00" />

因此,如果您想在 CMS 中更改某些内容,请在系统部分下创建一个任务。如果您希望某些东西仅供开发人员使用,请创建一个配置补丁并<agent>在您想要的任何计时器上应用您自己的自定义。

于 2013-09-08T14:33:50.890 回答