Data ultimo aggiornamento: 13/06/2012

Clicca per accedere al sito di NTS Informatica
Clicca per accedere all'argomento Clicca per accedere all'argomento Clicca per accedere all'argomento Clicca per accedere all'argomento
Clicca per accedere al sito di NTS Informatica

Schedulazione di elaborazioni batch NET

Per far operare Business NET in modalità batch basta impostare il parametro /B (modalità batch) come parametro di avvio di busnet.exe, gli eventuali child\programmi avviati non visualizzeranno MAI dei messaggi a video, non chiederanno conferme nell'esecuzione di determinate operazioni e scriveranno in un file di log le operazioni che in precedenza venivano chieste a video.

NB: l'avvio di busnet.exe in modalità batch non consuma una licenza di Business.

In pratica all'avvio della procedura viene creato in file nella directory di lavoro avente con nome BusNetBatch_nomeprocesso.log e tutti i messaggi di errore, invece di essere visualizzati all'utente, verranno salvati in questo file di log. Sempre in questo file viene memorizzata data e ora di quando è stato avviato Business NET e quali form sono state avviate durante la sessione di lavoro. Alla chiusura del programma da far eseguire verrà chiuso in automatico anche Business NET.

Nel caso che il programma da avviare chieda informazioni all'utente tramite messaggi (ad esempio 'Procedere con l'elaborazione?', oppure 'Visualizzare il file di log') questi messaggi verranno salvati sempre nel file .log predetto e la procedura procederà come se si fosse scelto il valore predefinito per il messaggio.

Ad oggi i programmi che possono essere utilizzati in maniera corretta con la procedura batch sono gli stessi che in Classic Start potevano essere trattati da Busbatch.exe, se già trascritti con il nuovo linguaggio di programmazione, piuù il programma di ricostruzione di progressivi di magazzino.

Con l'avvio di Business NET in modalità batch non sono disponibili programmi e/o funzioni in linguaggio VB6. Con questa modalitù Business NET può lanciare SOLO programmi scritti in tecnologia VB.NET. Qualora occorra eseguire in modalità batch un programma non ancora tradotto occorrerà utilizzare Busbatch.exe.

Per poter attivare la procedura sopra descritta all'avvio di Business NET occorre specificare la riga di comando come segue:

Busnete.exe operatore password_operatore database profilo_di_business child_da_eseguire /B parametri_di_avvio ditta_da_utilizzare

Ad esempio, per avviare in modalità batch il programma 'esecuzione automatica alerting':

Busnet.exe Mirto . PROVA14 Business BN__ETIM /B c:\programmi\bus\asc\bn__etim.bub prova

(ovvero verrà avviato business utilizzando l'operatore 'Mirto' senza password, sul database PROVA14, ditta PROVA; il programma da avviare è BN__ETIM ed i parametri di avvio sono contenuti nel file c:\programmi\bus\asc\bn__etim.bub

Rispetto a Busbatch.exe in vb6, la nuova versione può operare come operazione eseguita in automatico da schedulatore di windows anche per il programma 'esecuzione automatica alerting' (con la versione in VB6 non era possibile farlo perché l'orologio interno del BB--ETIM non si attivava se non si era loggati in windows).

NB: Rispetto ai consueti parametri della riga di comando di Business è stato aggiunto il parametro /B che sostituisce il /R (o uno, o l'altro) ed in coda è stato aggiunto il codice ditta da utilizzare per l'elaborazione. Business NET se avviato con il parametro /B (modalità batch) non consuma più una licenza e non verifica se sono state già tutte utilizzate.

Per realizzare il file .BUB, come in VB6, basta premere CTRL+ALT+F5 sulla form dopo aver impostato la maschera con le impostazioni da utilizzare per l'elaborazione. Il file verrà creato sempre in Asc.

Esempio di schedulazione batch di un programma NET (estrazione dati datawarehouse)

Come prima cosa occorre accedere al programma da schedulare, nel nostro caso l'estrazione dati datawarehouse, manualmente si settano i controlli in maschera come desiderato e tramite il Ctrl+Alt+F5 si genera il file BUB nella Asc che ci servirà per la schedulazione.

Il file BUB verrà creato nella directory Asc e avrà come nome semplicemente il nome del programma da schedulare, nel nostro caso BNDWGEND.

A questo punto possiamo provare subito se l'esecuzione batch va a buon fine, lanciando l'apposita stringa di comando da Esegui di Windows digitando:

C:\Program Files\Bus\Busnet.exe admin . PROVA Business BNDWGEND /B C:\Bus\Asc\BNDWGEND.BUB PROVA

Ovviamente a video non vediamo niente in quanto il processo parte in modalità batch, per vedere l'effettivo funzionamento possiamo verificarlo da task manager, nell'iimagine sotto possiamo vedere che al lancio della stringa precedente è partito un Busnet.exe con PID (proces ID) 2488.

Una volta terminato il processo batch, andando nella directory di Business troviamo 2 log e consultandoli possiamo verificare l'avvenuto completamento dell'operazione e eventuali errori.

Nel file di log BusNetBatch_PID.log (nell'esempio BusNetBatch_2488.log) troveremo informazioni\errori relative all'avvio del programma batch.

Nel file di log PROGRAMMA_OPERATORE.log (nell'esempio BNDWGEND_admin.log) troviamo eventuali messaggi\errori relativi all'esecuzione del programma batch.

Ora dopo aver verificato il corretto funzionamento possiamo passare alla schedulazione del processo tramite ad esempio le operazioni pianificate\unità di pianificazione di Windows. Nell'esempio mostriamo come crare tale schedulazione sull'unità di pianificazione di Windows 7, ma per gli altri casi risulta comunque simile.

Una volta aperta l'unità di pianificazione procedere alla creazione di una nuova attività di base, ed inserire un nome e descrizione a piacere e procedere con il tasto avanti.

Specificare la schedulazione dell'attività, nell'esempio si è scelto di schedulare l'estrazione dati del datawarehouse ogni giorno.

Alle ore 22.00 (si sarebbe potuto optare ad esempio anche per una programmazione settimanale scegliendo i soli giorni lavorativi sempre alle ore 22.00).

Ora specificare come tipo azione l'avvio programma e passare alla scelta successiva.

Selezionare tramite sfoglia l'eseguibile Busnet.exe ed imputare negli argomenti quelli della stringa di comando precedentemente lanciata con esegui!

Precedere alla finestra successiva di riepilogo e spuntare se necessario il flag di aprire la finestra di dialogo Propietà quando viene scelto Fine per entrare in una configurazione più avanzata dell'attività. Premere fine.

Se si è attivato il flag precedente si consiglia di impostare sotto le opzioni di sicurezza di eseguire il processo indipendentemente dalla connessione degli utenti, con i privilegi più elevati. Inoltre è consigliabile impostare il cambio utente con uno di tipo amministratore.

Passando al tab azioni è possibile verificare o intervenire sull'azione creata.

Nel tab impostazioni invece è consigliabile intervenire sul flag di interrompi se eseguita per oltre in base alla schedulazione precedentemente impostata.

A questo punto premere ok e indicare l'utente e password di Windows con il quale verrà lanciata l'azione (si ricorda ancora di utilizzare un utente di tipo amministratore).

Ora troveremo l'attività con l'azione creata all'interno dell'unità di pianificazione.

Immaginiamo ora di volere invece schedulare 2 avvi diversi per l'estrazioni dati del datawarehouse una sullo scenario 1 e una sullo scenario 7. Occore innanzitutto creare il file BUB per lo scenario 1 e rinominarlo ad esempio da BNDWGEND.BUB in BNDWGEND_SCEN1.BUB, poi occorre creare il file BUB per lo scenario 7 e rinominarlo ad esempio da BNDWGEND.BUB in BNDWGEND_SCEN7.BUB; le rinomine servono altrimenti il secondo file BUB sostituirebbe il primo.

Una volta creati i due file BUB

si può passare come prima alla creazione dell'attività questa volta con due azioni (oppure si possono creare due attività ciascuna con un azione), l'importante è specificare bene per ogni azione il nome del file BUB rinominato.

Clicca per accedere al sito di NTS Informatica