Instalando o Zeev Quartz Service
Será que não é hora de mudar para o CLOUD? 🚀
Entre em contato e conte com nosso apoio para migrar sua plataforma para o Zeev no Cloud. Todo o processo é simplificado. Você conta com o apoio de especialistas para tornar esse processo o mais simples e transparente possível.
Como podemos ajudar?
A Zeev possui um serviço específico para realizar instalações completas on premises. Todos os procedimentos abaixo são realizados com segurança por nossa equipe especializada, remotamente. Consulte preços em condições com nossa equipe comercial.
O Zeev Quartz Service automatiza a execução de diversos tipos de serviços, habilitando funções do sistema Zeev que são importantes para sua plena operação. Baseado no Quartz Enterprise Scheduler .NET é uma plataforma robusta e extensível para a execução de serviços agendados.
Esse serviço fica instalado como um Windows Service único e permite o agendamento de diversos jobs. Os jobs são configurados por meio de arquivo XML de nome quartz_jobs.xml armazenado na pasta raiz da instalação do Zeev Quartz Service. Veja a lista completa e como configurar os jobs a seguir.
Instalação e Configuração
Instalação
A instalação ocorre de forma expressa pelo instalador (setup_, sendo necessário apenas informar o URL do sistema e o token de autenticação do usuário de serviço (por padrão é o "servico_orquestra") durante a instalação.
A instalação configura e habilita o job EventTimer, sendo que os demais deverão ser configurados manualmente no arquivo "quartz_jobs.xml" que se encontrará dentro da pasta de instalação do Quartz. Veja mais sobre a configuração de cada job abaixo.
A configuração dos jobs é feita em arquivo XML. Arquivos XML não aceitam caracteres especiais como "&" sem o devido tratamento (escape).
Configuração
Agendamento dos jobs
Os jobs são agendados preenchendo a tag <cron-expression>, que por sua vez recebe um valor em um padrão mundialmente conhecido como Expressão Cron, ou Cron Expression em inglês. Ou seja, com ele você pode configurar um job para ser executado a cada 30 minutos, 1 vez por semana e etc.
Saiba mais sobre esse padrão acessando a documentação do Quartz Scheduler (link).
Tempo de agendamento recomendado
A recomendação para todos os jobs do Zeev Quartz Service é de serem executados a cada 10 minutos. Com isso a expressão cron correspondente é a seguinte:
Arquivo de Configuração
O arquivo de configuração segue o padrão abaixo:
Para ver como configurar os blocos "configuração do job" e "gatilho para início" acesse os manuais de cada job disponível abaixo.
Jobs disponíveis
Consulte a relação completa de jobs disponíveis e descontinuados na página Suporte a Zeev Quartz.
Serviço
Definição
EventTimer
Permitir a execução dos eventos de Timer dos processos conforme o prazo programado.
ExecuteSPServiceWorkflow
Realizar o escalonamento e aviso de tempo das atividades conforme a tabela de atores e seus prazos.
SendMail
Efetuar o envio de e-mails de "alerta de tempo" e "alerta de tarefa atrasada" das tarefas pendentes.
Configuração comum a todos os jobs
Localização do arquivo de configuração
Veja abaixo onde está localizado o arquivo de configuração dos jobs.
Acesse a pasta de instalação do Zeev Quartz Service, normalmente em C:\Program Files (x86)\Zeev\Zeev Quartz Service;
Edite o arquivo quartz_jobs.xml;
Inclua o trecho de código XML das tags "job" e "trigger" dentro da tag "schedule"*;
Configure os parâmetros conforme os comentários do código;
* O trecho a ser incluído varia conforme cada job.
Padrão XML comum a todos os arquivos
Para configurar um job você encontrará três tags principais: job, job-data-map e trigger.
As tags job e trigger são do mesmo formato, independente do job ao qual estão vinculadas. Já a tag job-data-map é específica para cada job a ser configurado.
A tag job
Parâmetro
Obrigatório
Descrição
name
Sim
Nome do job
group
Sim
Grupo de jobs ao qual o job atual pertence.
description
Não
Descrição do job.
job-type
Sim
Identificador do job a ser executado.
durable
Sim
Manter com valor "true".
recover
Sim
Manter com valor "false".
A tag trigger
Parâmetro
Obrigatório
Descrição
name
Sim
Nome do gatilho.
job-name
Sim
Nome do Job a ser iniciado por este gatilho.
job-group
Sim
Grupo de jobs a ser iniciado por este gatilho.
cron-expression
Sim
Expressão cron definindo a periodicidade de execução do job.
group
Não
Grupo de gatilhos ao qual o gatilho atual pertence.
Configuração job EventTimer
Para configurar este serviço configure as tags job e trigger conforme padrão acima e a tag job-data-map conforme informações abaixo.
Parâmetro
Tipo
Descrição
logging_enabled*
Boolean
Define se o job salva informações de log ao ser executado.
log_name
String
Nome do log conforme aparecerá no "Event Viewer". Por exemplo: Zeev.Quartz.EventTimer (* Obrigatório quando "logging_enabled" for true)
username
String
Nome do usuário que será mostrado nos logs de finalização de tarefas.
verbose_mode*
Boolean
Valor "true" indica que todas as operações e seus detalhes serão gravados no Event Viewer. Ideal para produção é estar desativada, isto é, valor "false".
token*
String
Token do usuário de serviço, normalmente do usuário de Serviço automático.
urlwsAuthentication*
String
URLs dos webservices do Zeev. Webservice Authentication: http://zeev/WebService/v2.5/authentication.asmx
urlwsInstance*
String
URLs dos webservices do Zeev. Webservice Instance: http://zeev/WebService/v2.5/instance.asmx
urlwsWorkspace*
String
URLs dos webservices do Zeev. Webservice Workspace: http://zeev/WebService/v2.5/workspace.asmx
* Itens com asterisco indicam parâmetros obrigatórios.
Configuração job ExecuteSPServiceWorkflow
Para configurar este serviço configure as tags job e trigger conforme padrão acima e a tag job-data-map conforme informações abaixo.
Parâmetro
Tipo
Descrição
logging_enabled*
Boolean
idem job anterior
log_name
String
idem job anterior
verbose_mode*
Boolean
idem job anterior
command*
String
Comando SQL para chamar a Stored Procedure wfSP_SERVICE_WORKFLOW. Para SQL Server: exec wfSP_SERVICE_WORKFLOW.
commandTimeout
Int
Define o tempo máximo de conexão para a execução do comando. Caso não seja definido, o valor padrão é de 60 segundos e caso seja definido, o valor máximo é de 180 segundos.
connection_string
String
Utilize apenas caso tabela de leitura dos dados NÃO esteja dentro da mesma base de dados do Zeev.
String de conexão com o banco de dados.
dbtype
String
Valor fixo: "sqlserver"
decrypt_key
String
Chave de Criptografia igual ao parâmetro "queryStringEncryptionKey" do web.config do Zeev. Caso a tabela de leitura dos dados esteja dentro da mesma base de dados do Zeev.
token*
String
Idem ao job anterior
urlwsAuthentication*
String
Idem ao job anterior
urlwsConfiguration*
String
URLs dos webservices do Zeev. Webservice Configuration: http://zeev/WebService/v2.5/configuration.asmx
urlwsQueryString*
String
URLs dos webservices do Zeev. Webservice QueryString: http://zeev/WebService/v2.5/querystring.asmx. (** Caso esse parâmetro não seja preenchido, então os parâmetros "connection_string" e "dbtype" se tornam obrigatórios, pois o valor destes serão considerados na conexão. )
* Itens com asterisco indicam parâmetros obrigatórios.
Configuração job SendMail
Para configurar este serviço configure as tags job e trigger conforme padrão acima e a tag job-data-map conforme informações abaixo.
Parâmetro
Tipo
Descrição
logging_enabled*
Boolean
Idem ao serviço anterior
log_name
String
Idem ao serviço anterior
verbose_mode*
Boolean
Idem ao serviço anterior
decrypt_key
String
Idem ao serviço anterior
token*
String
Idem ao serviço anterior
urlwsAuthentication*
String
Idem ao serviço anterior
urlwsConfiguration*
String
Idem ao serviço anterior
urlwsQueryString*
String
Idem ao serviço anterior
mail_processing_limit
Integer
Limite de e-mails a serem enviados a cada processamento. Isso evita que sua conta seja marcada como SPAM quando se efetua o envio de muitos e-mails ao mesmo tempo. Caso não seja definido, o valor padrão é de 50.
* Itens com asterisco indicam parâmetros obrigatórios.
Atualizado