nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Re: apparentemente banale

Von: Alberto (alberto.venturi.togli.questo@libero.quasi.it) [Profil]
Datum: 13.10.2006 12:03
Message-ID: <EvJXg.1613$Fk1.2846@twister2.libero.it>
Newsgroup: it.comp.as400
Non sono sicuro di aver capito il problema, ma provo a buttare un paio
di considerazioni:
- se vuoi un controllo preciso sugli intervalli *start* *stop* puoi
usare il tempo trascorso (Data/Ora) rispetto ad un momento di
riferimento (Esempio "00:00:00 01-01-2000") convertito in secondi
- per un controllo più preciso (mai puntuale causa natura intrinseca del
delay) potresti memorizzare l'ultima volta che il processo ha terminato
(non iniziato)

ES
- Monitor -
look dtaara
if nolook then sbmjob

- Job -
alcobj dtaara
[Data.e.Ora.di.Adesso] --> Adesso
If (UltimoStop - Adesso).Come.Minuti > 20Minuti Then
** Tutte le Operazioni che Vuoi **
[Data.e.Ora.di.Adesso] --> UltimoStop
STOP
Endif


Dove UltimoStop sta dove ti fa comodo (Dtaara, file db, ... magari per
job, utente, fase lunare... :) )



Spero di esserti stato utile...

Ciao



furega ha scritto:
> premessa:
> programma monitor che gira e controlla se una data are è allocata o
> meno.
> se non lo è sbmjob che alloca la data area.
> look dtaara
> if nolook then sbmjob
>
>
> pgm
> alcobj dtaara
> ...
> ...
>
> per motivi che non sto qui a spiegare vogli che il programma sottomesso
> termini ogni TOT tempo
>
> esempio : ogni giorno, ogni mese etc. quando decido io.
>
> siccome ha all'interno un dlyjob di 20 minuti non è pensabile di
> testare l'ora
> del resto potrei fare
> if ora GT.... endjob
> ma poi il monitor lo riavvierebbe subito e il programma rfarebbe il
> test dell'ora richiudendosi subito (già provato)
> potrei testare il giorno, ma succederebbe lo stesso.
>
> potrei aggiornare una variabile count (siccome il dly è di 20 minuti )
> add 1 ogni 20 minuti calcolo che se voglio che si chiudi il lavoro una
> volta al mese:
> (30 g *24ore *60minuti)/20  conter = 2160
>
> potrei chiuderlo forzatamente alle ore 00.00 ma siccome ha un dly non
> riesco a beccare il minuto esatto:
> cioè se il programma termina il dlyjob alle 23.50 e testa se l'ora è
> 00.00 il test e negativo e il prossimo test lo fa 20 minuti dopo quindi
> alle 00.10 e pertanto non posso "beccare il minuto esatto".
> dovrei considerare un test su dintervallo di ora tipo >20 minuti e <25
> minuti
> if ora gt 23.00 and ora lt 23,29  then endjob
>
> avevo anche pensato ad una dtaara dove memorizzare il numero lavoro
> utente ecc.
> e poi chiuderlo dal pgm monitor .
>
>
> mi sembra che quella del count incrementato sia la più fattibile
> ma se qualcuno mi dà un'idea più elegante......
>
> ps
> non c'è problema per rilanciare il programma in quanto il monitor
> appena trova la data area non allocata lo rilancia
>

[ Auf dieses Posting antworten ]

Antworten