У меня есть следующая настройка в моем проекте C# MVC, в файле Global.asax.cs:
////hangfire config
GlobalConfiguration.Configuration
.UseSqlServerStorage("ContextName", new SqlServerStorageOptions
{
CommandBatchMaxTimeout = TimeSpan.FromMinutes(5),
SlidingInvisibilityTimeout = TimeSpan.FromMinutes(15),
QueuePollInterval = TimeSpan.Zero,
UseRecommendedIsolationLevel = true,
UsePageLocksOnDequeue = true,
DisableGlobalLocks = true
})
.UseRecommendedSerializerSettings();
//.UseLog4NetLogProvider(); // this creates a bunch of logs that inflates the DB, only for testing purposes!
и этот код, который я пытался настроить, но не могу получить он работает в производстве, локально работает нормально.
BackgroundJobServer backgroundJobServer = new BackgroundJobServer();
RecurringJob.AddOrUpdate(() => MethodCalling(DateTime parameter), "0 8 * * *");
Это работает локально, но не тогда, когда я публикую sh в моей среде Plesk. Я попытался также с этим:
RecurringJob.Trigger("Identifier here");
и, конечно, установив Идентификатор в методе AddOrUpdate, но он срабатывает каждый раз, когда сайт просматривается, я думаю. Я хочу, чтобы он запускался каждый день в 8:00 утра.
Попробовал изменить время:
"00 * * * *"
установить запуск каждый час, каждый день каждый месяц или даже с Cron.HourInterval(int)
устарел, но, кажется, он срабатывает всякий раз, когда я просматриваю сайт, или + -3 раза в день, если я не просматриваю его, может быть, возможно, цикл утилизации IIS может быть?
Я также пытался изменить его на это:
BackgroundJob.Enqueue(()=> MethodCalling(DateTime parameter));
Когда я проверяю свою базу данных (используя EF), я ясно вижу, что она работает, но что-то не настроено должным образом, но я не знаю, что.
ЛЮБЫЕ предложения добро пожаловать! Спасибо! (ПРИМЕЧАНИЕ: не используется. NET Core)