IRONSOFTWAREHOME
ATUALIZAÇÕES DO DESENVOLVEDOR

Quartz .NET (Como funciona para desenvolvedores)

Curtis Chau
Curtis Chau
Updated: 21 de abril de 2026

Introdução ao Quartz .NET

Para aplicações .NET , o Quartz .NET é um conjunto de ferramentas de agendamento de tarefas de código aberto bastante popular. Isso proporciona aos programadores uma base sólida para planejar e executar tarefas, cronogramas ou processos em períodos ou intervalos predeterminados, ou em resposta a gatilhos. O Quartz .NET facilita a criação de cenários de agendamento complexos em aplicações .NET , sejam eles para o envio de notificações, agendamento de tarefas, geração de relatórios ou execução de atividades de manutenção periódica. O Quartz .NET é perfeito como sistema de agendamento de tarefas para a criação de aplicações pequenas e sistemas empresariais de grande escala.

O Quartz .NET, com sua versão mais recente do agendador, oferece integração perfeita com diversos provedores de banco de dados compatíveis, permitindo que os desenvolvedores estendam sua funcionalidade usando um método de extensão conveniente, ao mesmo tempo que garante a execução confiável de tarefas como um serviço hospedado.

A integração do Quartz .NET com o IronPDF torna possível a criação de sistemas de agendamento confiáveis ​​com recursos robustos de geração de PDFs em aplicações .NET . Embora o IronPDF ofereça um conjunto completo de ferramentas para criar, modificar e exibir documentos PDF, o Quartz .NET oferece um sistema de agendamento versátil e confiável. Quando combinadas, essas ferramentas permitem que os desenvolvedores automatizem operações de criação de PDFs como parte de fluxos de trabalho ou agendem tarefas em segundo plano, o que melhora a utilidade e a funcionalidade de seus aplicativos.

Principais características

Horários flexíveis

O Quartz .NET permite que os programadores criem agendamentos que instruem os programas a serem executados em intervalos ou horários predeterminados (por exemplo, de hora em hora, diariamente, a cada 30 minutos). É compatível com padrões de agendamento complexos, como expressões cron, que oferecem controle preciso sobre os horários em que o código, as tarefas e os serviços são executados.

Execução baseada em gatilhos

No Quartz .NET, os trabalhos podem ser iniciados por diversos gatilhos. Isso inclui gatilhos baseados em calendário (que, por exemplo, excluem fins de semana), gatilhos simples (que operam de acordo com um cronograma definido), gatilhos de trabalho e gatilhos personalizados que dependem de circunstâncias ou ocorrências externas.

Permanência no emprego

O Quartz .NET possui a capacidade de agendar tarefas de forma persistente, permitindo o armazenamento das tarefas planejadas e seu histórico de conclusão em um banco de dados. A resiliência do agendamento de tarefas contra falhas ou reinicializações de aplicativos é garantida, e o agrupamento de tarefas para alta disponibilidade e escalabilidade é possibilitado.

Controle de Concorrência

Para garantir que as tarefas sejam concluídas com segurança e eficácia, o Quartz .NET possui ferramentas integradas de controle de concorrência. Para controlar a concorrência na execução de tarefas, os desenvolvedores podem configurar pools de threads, prioridades de tarefas e restrições de execução.

Encadeamento de tarefas e gestão de dependências

As tarefas podem ser executadas em uma ordem específica e os relacionamentos entre elas podem ser definidos pelos desenvolvedores graças ao suporte do Quartz.NET para encadeamento de tarefas e gerenciamento de dependências. Isso possibilita a criação de situações de orquestração complexas para tarefas, serviços e procedimentos em segundo plano.

Técnicas de tratamento de erros e repetição

Para lidar com falhas de forma adequada, o Quartz .NET possui técnicas de tratamento de erros e de repetição. Em caso de falhas ou exceções temporárias, os desenvolvedores podem configurar políticas de repetição e técnicas de tratamento de erros para garantir que as tarefas sejam repetidas ou reagendadas.

Agrupamento e escalabilidade

Graças ao suporte do Quartz.NET para clustering no agendamento de tarefas distribuídas, várias instâncias do agendador podem coordenar e executar tarefas em um cluster de servidores. Isso garante um agendador de tarefas confiável e sua execução em um contexto distribuído, possibilitando escalabilidade horizontal e tolerância a falhas.

Integração com o ecossistema .NET

O Quartz .NET se integra facilmente ao ecossistema .NET , que inclui sistemas de mensagens (Rebus .NET, MassTransit), frameworks de registro (Serilog, NLog) e frameworks populares de injeção de dependência (Autofac, Microsoft.Extensions.DependencyInjection).

Criar e configurar o Quartz .NET

Defina Tarefas e Gatilhos

Para as tarefas que deseja executar, crie trabalhos e gatilhos. A tarefa a ser concluída é representada por um objeto de contexto e uma classe de trabalho, e a frequência e o momento da execução do trabalho são definidos por um gatilho.

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();

Configurar e inicializar o agendador

Após configurar o agendador de tarefas com a configuração especificada para agendar tarefas em segundo plano, trabalhos e gatilhos, inicie o agendador para começar a planejar e executar os trabalhos.

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);

Permanência no emprego

Configure o Quartz .NET para armazenar tarefas e metadados de acionamento em um armazenamento persistente, como um banco de dados. Isso garante confiabilidade e permite que os trabalhos sobrevivam a reinicializações do aplicativo.

Tratamento de erros

Incorpore o tratamento de erros e a lógica de repetição na sua lógica de execução de tarefas para lidar com falhas de forma adequada. O Quartz .NET fornece métodos integrados para gerenciar exceções e repetir tarefas.

Agrupamento

Para garantir alta disponibilidade e escalabilidade ao usar o Quartz .NET em um ambiente distribuído, configure o cluster. Graças ao recurso de clustering, a instância do agendador pode colaborar e executar tarefas em um cluster de servidores.

Injeção de Dependência

Configure o Quartz .NET para se comunicar com seu contêiner de injeção de dependência (DI) para gerenciar dependências de tarefas, configuração e ciclo de vida, caso seu aplicativo utilize um framework de injeção de dependência.

IronPDF

Quartz .NET (Como Funciona para Desenvolvedores): Figura 1 - Página da web do IronPDF

A criação, modificação e renderização de documentos PDF em programas .NET é possível graças ao conhecido pacote .NET IronPDF. Uma infinidade de funcionalidades está disponível para interagir com PDFs: criação de PDFs a partir de conteúdo HTML, fotos ou dados brutos; Acrescentar texto, imagens e formas a documentos PDF preexistentes; Converter páginas HTML em PDFs; e extrair texto e imagens de PDFs.

O IronPDF se destaca na conversão de HTML para PDF , garantindo a preservação precisa dos layouts e estilos originais. É perfeito para criar PDFs a partir de conteúdo da web, como relatórios, faturas e documentação. Com suporte para arquivos HTML, URLs e strings HTML brutas, o IronPDF produz facilmente documentos PDF de alta qualidade.

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");
    }
}

A simplicidade e a facilidade de uso do IronPDF são duas de suas principais vantagens. Os desenvolvedores podem começar facilmente a gerar PDFs em seus projetos .NET graças à API intuitiva e à extensa documentação. A velocidade e a eficiência do IronPDF são características adicionais que permitem aos desenvolvedores produzir documentos PDF de alta qualidade de forma rápida e eficaz.

Funcionalidades principais do IronPDF

  • Criação de PDFs a partir de dados brutos, HTML e imagens.
  • Extração de texto e imagens de arquivos PDF.
  • Permite incluir cabeçalhos, rodapés e marcas d'água em arquivos PDF.
  • Crie documentos PDF com segurança por senha e criptografia.
  • Fornece ferramentas para preencher formulários e assinar digitalmente.

Usando o Quartz com o IronPDF

Para começar a usar o IronPDF com o Quartz .NET em um aplicativo de console ou ASP.NET Core , você pode usar o IronPDF para configurar uma tarefa agendada em segundo plano que execute tarefas relacionadas à produção de PDFs.

Instalando os pacotes Quartz e IronPDF

Primeiro, certifique-se de ter instalado os pacotes NuGet necessários para o IronPDF e o Quartz .NET em seu projeto .NET usando o console do gerenciador de pacotes do Visual Studio com os seguintes comandos:

Install-Package Quartz
Install-Package IronPdf
SHELL

Exemplo de código

Esta seção demonstra como criar um trabalho no Quartz que utiliza o IronPDF para criar documentos PDF.

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");
    }
}

Configure o Quartz .NET para utilizar um gatilho que execute o processo de criação de PDF em um cronograma predeterminado.

// 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);

Para iniciar o agendador Quartz e começar a executar as tarefas planejadas:

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

Abaixo está o resultado gerado pelo código acima.

Quartz .NET (Como Funciona para Desenvolvedores): Figura 2 - Saída do exemplo de código IronPDF e Quartz.NET

Conclusão

Em resumo, a combinação do Quartz .NET com o IronPDF oferece uma maneira robusta de automatizar operações relacionadas à criação de PDFs em aplicações .NET . Com a ajuda do sistema de agendamento poderoso e adaptável do Quartz.NET, os desenvolvedores podem criar tarefas e gatilhos que executarão atividades em intervalos ou durações predeterminadas. O IronPDF, por outro lado, oferece aos desenvolvedores todas as ferramentas necessárias para criar e trabalhar com documentos PDF. Utilizando HTML, gráficos ou dados brutos, os desenvolvedores podem criar PDFs com aparência profissional.

Em aplicações distribuídas, os desenvolvedores podem automatizar operações típicas de geração de PDFs, como a criação de relatórios, faturas ou documentos, em intervalos predeterminados ou em resposta a gatilhos, integrando a funcionalidade de geração de PDFs do IronPDF com os recursos de agendamento do Quartz.NET. Essa integração permite que os desenvolvedores produzam e enviem documentos PDF de alta qualidade para clientes com mais facilidade, simplificando os fluxos de trabalho de geração de documentos, aumentando a produtividade e reduzindo o trabalho manual.

O IronPDF tem um preço razoável e inclui uma licença vitalícia quando adquirido como parte do pacote. Como o pacote custa apenas $999, sendo uma única cobrança para vários sistemas, ele oferece um valor excepcional. Oferece assistência técnica online 24 horas por dia, 7 dias por semana, aos titulares de licença. Para saber mais sobre os produtos fabricados pela Iron Software, visite a página de Produtos da Iron Software no site da Iron Software .

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.