Kentico 已重新安排在下一个非高峰时段删除更多联系人

Kentico 已重新安排在下一个非高峰时段删除更多联系人,kentico,Kentico,在Kentico(9)中,当我运行“删除非活动联系人”任务时,它从未实际运行,结果总是“重新安排以在下一个非高峰时段删除更多联系人” 我曾尝试将设置更改为每周运行一次,并尝试创建一个自定义IDeleteContacts,然后将其设置为使用该自定义类,但我总是得到相同的结果 有什么想法吗?您是否在项目中应用了最新的修补程序(9.0.50)?当删除非活动联系人的时间超过1分钟,未设置“删除非活动联系人”计划任务的下一次运行,并且该任务未再次执行时,出现错误。您可以直接从此页面下载该软件包:根据站点运

在Kentico(9)中,当我运行“删除非活动联系人”任务时,它从未实际运行,结果总是“重新安排以在下一个非高峰时段删除更多联系人”

我曾尝试将设置更改为每周运行一次,并尝试创建一个自定义IDeleteContacts,然后将其设置为使用该自定义类,但我总是得到相同的结果


有什么想法吗?

您是否在项目中应用了最新的修补程序(9.0.50)?当删除非活动联系人的时间超过1分钟,未设置“删除非活动联系人”计划任务的下一次运行,并且该任务未再次执行时,出现错误。您可以直接从此页面下载该软件包:

根据站点运行的服务器时间,“删除非活动联系人”计划任务仅在凌晨2点到6点之间运行。你可以。它只删除了一批1000个联系人,而不会删除更多。如果您想“欺骗”站点进一步运行计划任务,请将服务器上的时间更新为凌晨1:58,然后重新启动站点

默认情况下,Kentico在常规web请求的末尾运行其计划任务。如果你每天24小时都有交通,那没关系。如果您不这样做,那么您可能会遇到各种各样的问题,包括您现在描述的问题,因为计划任务没有执行

如果您在Windows服务器上运行,则可以设置。如果这不是一个选项,您可以设置监控,以每隔几分钟访问您的站点,例如,或。您将获得额外的好处,即在网站关闭时收到通知

如果您确实需要清理EMS联系人,因为它正在失去控制,您可以直接访问数据库并触发计划任务使用的相同存储过程。它被称为
[Proc\u OM\u Contact\u MassDelete]
,并采用where子句和批量大小。where子句是指定删除策略的位置。比如说

ContactCreated < GETDATE()-60 AND ([ContactEmail] IS NULL PR [ContactEmail]='')
ContactCreated
使用where子句,存储过程将处理60多天前创建的联系人,这些联系人还没有电子邮件地址

请注意,要在可接受的时间段内运行此过程,大量EMS数据将需要数据库索引调整。一般来说,当你的站点有相当数量的流量时,EMS也是如此


如果标准的Kentico清理无法工作,例如,因为数据库无法处理数百万个联系人,我们已经为其编写了一个脚本。小心使用;)

我试试看,让你知道