我正在使用 FluentScheduler,并且有一个问题,我有 2 个注册表类,
FeedRegistry
SitemapRegistry
FeedRegistry 应该每 15 分钟运行一次,sitemapregistry 每 6 小时运行一次。
我有这个代码:
TaskManager.Initialize(new FeedRegistry());
TaskManager.Initialize(new SitemapRegistry());
和
Schedule<FeedTask>().ToRunNow().AndEvery(15).Minutes();
Schedule<SitemapTask>().ToRunNow().AndEvery(6).Hours();
站点地图任务
public class SitemapTask : ITask
{
private readonly ISitemapHelper _sitemapHelper;
public SitemapTask(ISitemapHelper sitemapHelper)
{
_sitemapHelper = sitemapHelper;
}
public void Execute()
{
_sitemapHelper.Process(false);
}
}
饲料任务
public class FeedTask : ITask
{
private readonly IFeedHelper _feedHelper;
public FeedTask(IFeedHelper feedHelper)
{
_feedHelper = feedHelper;
}
public void Execute()
{
_feedHelper.Process(false);
}
}
我正在使用 Autofac,并且依赖项已注册为“InstancePerLifetimeScope”。问题是 FeedTask 在应用程序开始时只会运行一次,但在 15 分钟后不会再次运行。但是,如果我反转初始化,例如
Schedule<SitemapTask>().ToRunNow().AndEvery(6).Hours();
Schedule<FeedTask>().ToRunNow().AndEvery(15).Minutes();
它将每 15 分钟运行一次(我假设站点地图不会每 6 小时运行一次)
怎么修?