For future Claude
Mapa das tarefas agendadas Java vs .NET (as of 2026-08-19). Dual-run: ingest .NET OFF. Cleanup exists as DeleteOldFileTask / DeleteOldLogsTask with Java crons. Do not count *Controller as a second task. TestLexacomTask and JobAudioFileDownloader (commented in Task.xml) are dead.
Workers — Java vs D2U.NET
Hub: D2U.NET · ops: Homologacao · Grafana: Observability
Contagem (2026-08-19)
| Agendadas vivas | Notas | |
|---|---|---|
| Java | 9 (3 Quartz + 6 ScheduledExecutorService) |
JobAudioFileDownloader comentado. JobFileTransferExecutor é evento no approve, não cron. |
.NET D2U.Workers |
11 (9 BackgroundService + 2 Quartz) |
Extra: split scanner/download + VendorEgressWorker (poll 15 min vs evento Java). |
Correspondência
| Java | .NET | Frequência |
|---|---|---|
DeleteOldFileTask Quartz |
DeleteOldFileTask + DeleteOldFileQuartzJob |
0 0 0 * * ? meia-noite ambos (as of 2026-08-19) |
DeleteOldLogsTask Quartz |
DeleteOldLogsTask + DeleteOldLogsQuartzJob |
0 59 23 1/1 * ? * ambos |
JobXMLFileTransfer Quartz |
JobXmlTransferWorker |
Java min 0 e 59 · .NET loop 59 min |
MailReader |
MailReaderWorker |
60 s |
LexacomChecker / LexacomDownloader |
mesmos nomes Worker | 30 s |
SpeechLiveRetrySender |
SpeechLiveRetryWorker |
30 s |
FileScannerController |
FtpScannerWorker + AudioFilesScannerWorker |
60 s |
FTPFileDownloaderController |
FtpDownloadWorker |
60 s |
JobFileTransferExecutor (approve) |
VendorEgressWorker |
evento vs poll 15 min |
Lock .NET: TryRunWithLockAsync (cross-instance). Java Quartz só concurrent=false no mesmo JVM. Shutdown: .NET Quartz WaitForJobsToComplete=true; Java waitForJobsToCompleteOnShutdown=false.
Dual-run
python deploy.py --workers-off → Workers__Enabled=false. Java :8099 continua Mail/FTP/Lexacom/Scanner/cleanup. Ligar workers .NET duplica ingest.