Sobes.tech
Junior — Middle

Welche Aufgabenplanungssysteme haben Sie in Ihren Projekten verwendet?

sobes.tech KI

Antwort von AI

In C#-Projekten zur Aufgabenplanung werden häufig die folgenden Systeme und Bibliotheken verwendet:

  • Quartz.NET — ein leistungsstarker Aufgabenplaner mit Unterstützung für Cron-Ausdrücke, Trigger und komplexe Zeitpläne.
  • Hangfire — eine Bibliothek für Hintergrundaufgaben mit Wiederholungsfähigkeit, Überwachung und Verwaltung über eine Weboberfläche.
  • Task Scheduler (Windows) — zum Ausführen geplanter Aufgaben auf Betriebssystemebene.
  • Timer und Task aus der Standardbibliothek von .NET — für einfache periodische oder verzögerte Aufgaben.

Beispiel für eine einfache Planung mit 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);

Die Wahl hängt von den Anforderungen an Zuverlässigkeit, Komplexität des Zeitplans und Infrastruktur des Projekts ab.