Escada de lembrete de data e a varredura em lote, somente leitura

FeatureDocsService
Navios
7 de agosto de 2026 às 00:06 UTC
Autor
Kamo
Enviar
fdea75b

O balde é uma função pura de (dueDate, hoje) e nunca de "quando duramos enviado": UPCOMING D{n} para os offsets configurados, DUE TODAY, então PAST DUE P{ floor( daysOverdue / intervale)}. Fazendo a varredura cinco vezes no dia 9 Por conseguinte, dá um balde, e a reivindicação do livro de contabilidade é o que o deduplica — não Estado é lembrado em qualquer lugar. Os deslocamentos são dados; nada na classe sabe o número 3. predefaults do passado- due-max-periods a 0 significando unLIMITED, porque decisão #4 diz que o lembrete passado-due recorre e uma tampa silenciosa se parece exatamente com uma varredura de trabalho ao abandonar o membro mais necessitado de perseguição. O ponto de corte é hoje + max(upcomingDays) + 1, not now(): the repositório predicate é dueAt ANTES, então um ponto de corte now() encontraria apenas linhas atrasadas e a totalidade Metade da escada nunca dispararia. Uma pequena transação somente leitura por corte, materializando completamente cada lote em Registos simples — Organização e Membro são LAZY, por isso o fqdn, o rótulo, o o nome e o endereço são resolvidos dentro dele — e a transação está encerrada antes do primeiro envio. O envio do EmailService está bloqueando HTTP para bloquear SMTP, e um lote segurou pinos abertos uma conexão Hikari para o comprimento de cada ida e volta nele, em um serviço também servindo WOPI. A varredura realiza ZERO escreve. Ele não pode serialização- tentativa, não pode travar contra o assistente, e paging é estável porque não está mutando as linhas Está a chamar. dryRun resolve e conta e não reivindica nada — uma corrida seca que Alegou que queimaria todos os baldes inspecionados e silenciosamente suprimiria a verdadeira corrida. O gravador ganha despachoTodosContados ao lado do despacho inalteradoTodos, porque LegalReminderSweepResultDto já carrega reclamado e falhou e um único enviado contagem não pode preenchê-los: em uma re-run "afirmado 0 de 400" é o correto, saudável resposta e "chamado 400, enviado 0" é uma falha, e o log daemon tem que ser capaz Para os distinguir.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços