Sobes.tech
Junior — Middle

Ce sisteme de planificare a sarcinilor ați folosit în proiectele dvs.?

sobes.tech AI

Răspuns de la AI

În proiectele C# pentru programarea sarcinilor, se utilizează frecvent următoarele sisteme și biblioteci:

  • Quartz.NET — un planificator de sarcini puternic, cu suport pentru expresii cron, trigger-e și programe complexe.
  • Hangfire — o bibliotecă pentru sarcini de fundal, cu posibilitatea de reluare, monitorizare și gestionare prin interfață web.
  • Task Scheduler (Windows) — pentru rularea sarcinilor programate la nivelul sistemului de operare.
  • Timer și Task din biblioteca standard .NET — pentru sarcini simple periodice sau întârziate.

Exemplu de planificare simplă cu Quartz.NET:

IScheduler scheduler = await StdSchedulerFactory.GetDefaultScheduler();
await scheduler.Start();

IJobDetail job = JobBuilder.Create<MyJob>()
    .WithIdentity("job1", "group1")
    .Build();

ITrigger trigger = TriggerBuilder.Create()
    .WithIdentity("trigger1", "group1")
    .StartNow()
    .WithSimpleSchedule(x => x.WithIntervalInMinutes(5).RepeatForever())
    .Build();

await scheduler.ScheduleJob(job, trigger);

Alegerea depinde de cerințele de fiabilitate, complexitatea programului și infrastructura proiectului.