IRONSOFTWAREHOME
ENTWICKLER-UPDATES

Quartz .NET (Funktionsweise für Entwickler)

Jacob Mellor, Chief Technology Officer @ Team Iron
Jacob Mellor
Updated: 21. April 2026

Einführung in Quartz.NET

Für .NET-Anwendungen ist Quartz.NET ein beliebtes Open-Source-Toolkit zur Aufgabenplanung. Es bietet Programmierern eine solide Grundlage für die Planung und Durchführung von Jobs, Zeitplänen oder Prozessen zu festgelegten Zeitpunkten, Intervallen oder als Reaktion auf Auslöser. Quartz.NET erleichtert die Erstellung komplizierter Planungsszenarien in .NET-Anwendungen, sei es für die Übermittlung von Benachrichtigungen, die Planung von Aufgaben, die Erstellung von Berichten oder die Durchführung periodischer Wartungsarbeiten. Quartz.NET ist ideal als Auftragssteuerungssystem zur Erstellung von Anwendungen von kleiner bis hin zu großen Unternehmenskontinuitäten.

Quartz.NET bietet mit seiner neuesten Planerversion nahtlose Integration mit verschiedenen unterstützen Datenbankanbietern und ermöglicht Entwicklern das Erweitern seiner Funktionalitäten mithilfe einer praktischen Erweiterungsmethode bei gleichzeitig zuverlässiger Aufgabeausführung als gehosteter Dienst.

Der Aufbau zuverlässiger Planungssysteme mit hervorragenden PDF-Produktionsfähigkeiten in .NET-Anwendungen wird durch die Integration von Quartz.NET mit IronPDF ermöglicht. Während IronPDF eine vollständige Suite von Tools für die Erstellung, Bearbeitung und Anzeige von PDF-Dokumenten bietet, bietet Quartz.NET ein vielseitiges und zuverlässiges Planungssystem. Gemeinsam ermöglichen sie Entwicklern, PDF-Erstellungsoperationen als Teil von Workflows zu automatisieren oder Hintergrundjobs zu planen, was die Nützlichkeit und Funktionalität ihrer Apps verbessert.

Hauptmerkmale

Flexible Terminplanung

Quartz.NET ermöglicht es Programmierern, Zeitpläne zu erstellen, die Anwendungen anweisen, in festgelegten Intervallen oder zu bestimmten Zeiten zu laufen (z. B. stündlich, täglich, alle 30 Minuten). Es ist kompatibel mit komplexen Zeitplänen, wie zum Beispiel Cron-Ausdrücke, die eine präzise Kontrolle über die Zeiten bieten, zu denen Code, Jobs und Dienste ausgeführt werden.

Trigger-basierte Ausführung

In Quartz.NET können Jobs durch verschiedene Auslöser gestartet werden. Dazu gehören kalenderbasierte Auslöser (z. B. Ausschluss von Wochenenden), einfache Auslöser (die nach einem festgelegten Zeitplan arbeiten), Job-Auslöser und benutzerdefinierte Auslöser, die von äußeren Bedingungen oder Ereignissen abhängen.

Arbeitsplatzbeständigkeit

Quartz.NET kann in der Lage sein, Aufgaben persistent zu planen und ermöglicht die Speicherung geplanter Aufgaben und ihrer abgeschlossenen Historie in einer Datenbank. Die Widerstandsfähigkeit des Aufgabenplans gegen Anwendungsfehler oder Neustarts ist garantiert, und die Anhäufung von Aufgaben für hohe Verfügbarkeit und Skalierbarkeit wird ermöglicht.

Währungskontrolle

Zur Sicherstellung, dass Aufgaben sicher und effektiv abgeschlossen werden, verfügt Quartz.NET über eingebaute Mittel zur Steuerung der Gleichzeitigkeit. Entwickler können Thread-Pools, Aufgabenprioritäten und Ausführungsbeschränkungen einrichten, um die Gleichzeitigkeit der Aufgabenausführung zu steuern.

Job Chaining und Abhängigkeitsmanagement

Jobs können in einer festgelegten Reihenfolge ausgeführt werden und Beziehungen zwischen ihnen können von Entwicklern dank Quartz.NET/s Unterstützung für Aufgabenverkettung und Abhängigkeitsmanagement definiert werden. Dies ermöglicht das Erstellen komplexer Orchestrierungsszenarien für Hintergrundjobs, Dienste und Verfahren.

Fehlerbehandlung und Wiederholungstechniken

Um Ausfälle elegant zu verwalten, verfügt Quartz.NET über Fehlerbehandlung und Wiederholtechniken. Im Falle temporärer Ausfälle oder Ausnahmen können Entwickler Wiederholrichtlinien und Fehlerbehandlungstechniken einrichten, um sicherzustellen, dass Aufgaben erneut ausgeführt oder neu geplant werden.

Clustering & Skalierbarkeit

Mehrere Instanzen des Planers können Aufgaben über ein Cluster von Servern hinweg koordinieren und ausführen, dank Quartz.NET/s Unterstützung für Clustering in der verteilten Aufgabenplanung. Dies gewährleistet einen zuverlässigen Aufgabenplaner und die Ausführung in einem verteilten Kontext, indem horizontale Skalierbarkeit und Fehlertoleranz ermöglicht werden.

Integration in das .NET-Ökosystem

Quartz.NET integriert sich mühelos in das .NET-Ökosystem, einschließlich Messaging-Systemen (Rebus.NET, MassTransit), Protokollierungsframeworks (Serilog, NLog) und beliebten Frameworks zur Abhängigkeitsinjektion (Autofac, Microsoft.Extensions.DependencyInjection).

Erstellen und Konfigurieren von Quartz.NET

Jobs und Auslöser definieren

Für die Aufgaben, die Sie ausführen möchten, erstellen Sie Jobs und Auslöser. Die zu erledigende Aufgabe wird durch ein Kontextobjekt und eine Job-Klasse repräsentiert, und die Häufigkeit und der Zeitpunkt der Job-Ausführung werden durch einen Auslöser bestimmt.

using Quartz;

// Define a job by implementing the IJob interface
public class MyJob : IJob
{
    public async Task Execute(IJobExecutionContext context)
    {
        // Implement the logic for your job here
    }
}

// Build the job instance using JobBuilder
var job = JobBuilder.Create<MyJob>()
    .WithIdentity("myJob", "group1") // Assign a unique name and group to the job
    .Build();

// Create a trigger to define when the job should be executed
var trigger = TriggerBuilder.Create()
    .WithIdentity("myTrigger", "group1") // Assign a unique name and group to the trigger
    .WithCronSchedule("0 0/5 * * * ?") // Run every 5 minutes based on the cron expression
    .Build();

Scheduler konfigurieren und initialisieren

Nach der Einrichtung des Job-Schedulers mit der angegebenen Konfiguration, um Hintergrundaufgaben, Jobs und Auslöser zu planen, starten Sie den Scheduler, um die Aufgaben zu planen und auszuführen.

using Quartz;
using Quartz.Impl;

// Create a scheduler factory and get a scheduler instance
var schedulerFactory = new StdSchedulerFactory();
var scheduler = await schedulerFactory.GetScheduler(); 

// Start the scheduler
await scheduler.Start();

// Schedule the job with its corresponding trigger
await scheduler.ScheduleJob(job, trigger);

Arbeitsplatzbeständigkeit

Konfigurieren Sie Quartz.NET so, dass Jobs und Auslöser-Metadaten in einem persistenten Speicher wie einer Datenbank gespeichert werden. Dies gewährleistet Zuverlässigkeit und ermöglicht es Jobs, Anwendungsneustarts zu überstehen.

Fehlerbehandlung

Integrieren Sie Fehlerbehandlung und Wiederhollogik in Ihre Aufgaben-Ausführungslogik, um Fehler elegant zu behandeln. Quartz.NET bietet eingebaute Methoden zur Verwaltung von Ausnahmen und zum Wiederholen von Aufgaben.

Clustering

Um hohe Verfügbarkeit und Skalierbarkeit zu gewährleisten, wenn Quartz.NET in einer verteilten Umgebung verwendet wird, richten Sie Clustering ein. Die Scheduler-Instanz kann dank Clustering mit einem Cluster von Servern zusammenarbeiten und Aufgaben ausführen.

Abhängigkeitsinjektion

Richten Sie Quartz.NET so ein, dass es mit Ihrem Abhängigkeitsinjektions-(DI-)Container kommuniziert, um Aufgabenabhängigkeiten, Konfigurationen und Lebenszyklen zu verwalten, wenn Ihre Anwendung ein Abhängigkeitsinjektions-Framework verwendet.

IronPDF

Quartz .NET (Wie es für Entwickler funktioniert): Abbildung 1 - IronPDF-Webseite

Erstellen, Bearbeiten und Rendern von PDF-Dokumenten innerhalb von .NET-Programmen wird durch das bekannte .NET-Paket IronPDF ermöglicht. Eine Vielzahl von Funktionen steht für den Umgang mit PDFs zur Verfügung: Erstellung von PDFs aus HTML-Inhalten, Bildern oder Rohdaten; Hinzufügen von Texten, Bildern und Formen zu vorhandenen PDF-Dokumenten; Konvertieren von HTML-Seiten in PDFs; und Extrahieren von Text und Bildern aus PDFs.

IronPDF überzeugt in der HTML-zu-PDF-Konvertierung, indem es den originalen Layouts und Stilen präzise erhält. Es ist ideal zur Erstellung von PDFs aus webbasierten Inhalten wie Berichten, Rechnungen und Dokumentationen. Mit Unterstützung für HTML-Dateien, URLs und rohe HTML-Strings erstellt IronPDF problemlos hochwertige PDF-Dokumente.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert an HTML string to a PDF document
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert an HTML file to a PDF document
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert a URL to a PDF document
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

Die Einfachheit und Benutzerfreundlichkeit von IronPDF sind zwei seiner Hauptvorteile. Entwickler können mit seiner benutzerfreundlichen API und umfangreicher Dokumentation leicht beginnen, PDFs in ihren .NET-Projekten zu erstellen. Schnelligkeit und Effizienz von IronPDF sind weitere Merkmale, die es Entwicklern ermöglichen, hochwertige PDF-Dokumente schnell und effektiv zu erstellen.

IronPDF Kernfunktionen

  • Erstellung von PDFs aus Rohdaten, HTML und Bildern.
  • Extraktion von Texten und Bildern aus PDF-Dateien.
  • Ermöglicht das Hinzufügen von Kopfzeilen, Fußzeilen und Wasserzeichen zu PDF-Dateien.
  • Erstellung von PDF-Dokumenten mit Passwort- und Verschlüsselungsschutz.
  • Bietet Werkzeuge zum Ausfüllen von Formularen und zum digitalen Signieren.

Quarz mit IronPDF verwenden

Um IronPDF mit Quartz.NET in einer Konsolen- oder ASP.NET-Core-Anwendung zu verwenden, können Sie IronPDF verwenden, um einen geplanten Hintergrundjob zu erstellen, der Aufgaben im Zusammenhang mit der PDF-Produktion ausführt.

Installation der Pakete Quartz und IronPDF

Stellen Sie sicher, dass Sie die erforderlichen NuGet-Pakete für IronPDF und Quartz.NET in Ihrem .NET-Projekt mit der Visual Studio-Paketmanager-Konsole mit den folgenden Befehlen installiert haben:

Install-Package Quartz
Install-Package IronPdf
SHELL

Code-Beispiel

Dieser Abschnitt zeigt, wie man einen Quartz-Job erstellt, der IronPDF verwendet, um PDF-Dokumente zu erstellen.

using Quartz;
using IronPdf;

// Implementing a job that generates a PDF using IronPDF
public class PdfGenerationJob : IJob
{
    public async Task Execute(IJobExecutionContext context)
    {
        // Generating PDF using IronPDF
        var htmlContent = "<h1>Hello, IronPDF!</h1>";
        var pdfRenderer = new HtmlToPdf();
        var pdfDocument = pdfRenderer.RenderHtmlAsPdf(htmlContent);

        // Save the generated PDF to a file
        pdfDocument.SaveAs("output.pdf");
    }
}

Richten Sie Quartz.NET so ein, dass ein Auslöser verwendet wird, um den PDF-Erstellungsprozess nach einem festgelegten Zeitplan auszuführen.

// Create and configure the Quartz scheduler
var schedulerFactory = new StdSchedulerFactory();
var scheduler = await schedulerFactory.GetScheduler();
await scheduler.Start();

// Define the job and bind it to our PdfGenerationJob class
var job = JobBuilder.Create<PdfGenerationJob>()
    .WithIdentity("pdfGenerationJob", "pdfGenerationGroup")
    .Build();

// Define a trigger to schedule the PDF generation job
var trigger = TriggerBuilder.Create()
    .WithIdentity("pdfGenerationTrigger", "pdfGenerationGroup")
    .WithSimpleSchedule(x => x
        .WithIntervalInMinutes(30) // Run every 30 minutes
        .RepeatForever())
    .Build();

// Schedule the job using the scheduler
await scheduler.ScheduleJob(job, trigger);

Um den Quartz-Scheduler zu starten und geplante Aufgaben auszuführen:

// Start the scheduler
await scheduler.Start();
// Optionally, monitor scheduler for job execution

Unten ist die Ausgabe von dem obigen Code dargestellt.

Quartz .NET (Wie es für Entwickler funktioniert): Abbildung 2 - Ausgabe des IronPDF- und Quartz.NET-Codebeispiels

Abschluss

Zusammenfassend lässt sich sagen, dass die Kombination von Quartz.NET und IronPDF eine starke Möglichkeit bietet, Vorgänge im Zusammenhang mit der Erstellung von PDFs in .NET-Anwendungen zu automatisieren. Mit Hilfe des leistungsstarken und anpassbaren Planungssystems von Quartz.NET können Entwickler Jobs und Auslöser erstellen, die Aktivitäten zu festgelegten Intervallen oder Zeiten ausführen werden. IronPDF hingegen bietet Entwicklern alle Werkzeuge, die sie benötigen, um PDF-Dokumente zu erstellen und zu bearbeiten. Entwickler können professionelle PDFs aus HTML, Grafiken oder Rohdaten erstellen.

Durch die Integration der PDF-Generierungsfunktion von IronPDF mit den Planungskapazitäten von Quartz.NET können Entwickler typische PDF-Erzeugungsoperationen in verteilten Anwendungen automatisieren, wie etwa die Erstellung von Berichten, Rechnungen oder Dokumenten, in festgelegten Zeitintervallen oder als Reaktion auf Trigger. Diese Integration ermöglicht es Entwicklern, Arbeitsabläufe zur Dokumenterstellung zu straffen, die Produktivität zu steigern und manuelle Arbeitsabläufe zu reduzieren, wodurch sie qualitativ hochwertige PDF-Dokumente leichter an Kunden oder Klienten erstellen und senden können.

IronPDF hat einen angemessenen Preis und wird beim Kauf als Teil eines Pakets mit einer lebenslangen Lizenz geliefert. Da das Paket nur $999 kostet, was eine einmalige Gebühr für mehrere Systeme ist, bietet es außergewöhnlichen Wert. Es bietet Lizenzinhabern rund um die Uhr Online-Ingenieurunterstützung. Um mehr über die von Iron Software hergestellten Produkte zu erfahren, besuchen Sie die Iron Software Products-Seite auf der Iron Software Website.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor is Chief Technology Officer at Iron Software and a visionary engineer pioneering C# PDF technology. As the original developer behind Iron Software's core codebase, he has shaped the company's product architecture since its inception, transforming it alongside CEO Cameron Rimington into a 50+ person company serving NASA, Tesla, and global government agencies.

...
Read More

Related Articles

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge related to IronPDF Product Demo

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.