Avvio automatico code processi NAV

Le “code processi” di Dynamics NAV consentono di eseguire procedure (codeunit o report) in modo batch, cioè secondo una schedulazione di giorni ed orari e senza occupare il client (l’elaborazione avviene sul server).

È possibile creare infinite code processi; ogni coda esegue i processi al suo interno in modo sequenziale; le code tra di loro sono invece parallele.

Nelle vecchie versioni di Dynamics NAV, l’elaborazione di procedure sul server era affidata al servizio NAS e questa impostazione è ancora presente nelle recenti versioni per compatibilità. Il nuovo sistema di code, più flessibile anche in termini di licensing, ha tuttavia il difetto di non avviarsi automaticamente se il servizio viene riavviato per qualche motivo. Inoltre se la coda va in crash per un errore applicativo, non esiste un sistema di “riarmo” automatico.

Ho quindi realizzato una semplice utility che, sfruttando le operazioni pianificate di Windows, si assicura ad intervalli regolari che tutte le code siano avviate. Mi sono appoggiato alle operazioni pianificate in quanto strumento esterno a NAV, così da essere al riparo da eventuali crash del servizio.

Per prima cosa ho personalizzato la coda aggiungendo un flag che mi indica se può essere avviata o meno automaticamente (può comunque essere utile avere code ad avvio manuale):

NAVQueue2

Poi ho modificato la codeunit 450 “Job Queue – NAS Start Up” aggiungendo un semplice metodo:

Esponendo questa codeunit tramite web services, è possibile richiamare l’avvio delle code con una utility, che ho schedulato nelle operazioni pianificate:

L’utility può richiamare qualsiasi web service in modo pianificato, è importante che sia attiva l’autenticazione NTLM.

Puoi scaricare l’utility da qui.

Download “Nav WS Invoke” Nav.WSInvoke.exe_.zip – Scaricato 65 volte – 16 KB

 

Chiama subito per maggiori informazioni +39 0113473770
oppure lasciaci i tuoi recapiti e sarai contattato il prima possibile:



 

Lascia un commento