Utente:FixBot/DeletionBot/main2.js: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FixBot (discussione | contributi)
Nessun oggetto della modifica
FixBot (discussione | contributi)
Nessun oggetto della modifica
Riga 1:
// La variabile contiene i messaggi di log del bot
var messages = [];
var PDC_date, days;
var currentAppStatus;
 
Riga 12 ⟶ 11:
function startDeletionBot()
{
var appStatusRouter;
PDC_date = new Date();
appStatusRouter = generaTabellaRouting('execAggiornaLog');
days=9;
start = new Date();
mainDeletionBot2(new Date(), 8, appStatusRouter, 5);
currentAppStatus = 'letturaPDC';
mainDeletionBot2();
while( currentAppStatus != 'finish' && currentAppStatus != 'timeout');
stop = new Date();
alert( (stop.getTime-start.getTime())/1000 );
 
}
 
 
function generaTabellaRouting(state)
{
r = {start:'', gestioneCategorieGiornaliere:'', gestioneCategorieMensili:'', gestioneCategorieAnnuali:'', letturaPDC:''};
switch( state )
{
// Gestione delle sole categorie annuali
case 'execCategorieAnnuali':
r.start = 'gestioneCategorieAnnuali';
r.gestioneCategorieAnnuali = 'finish';
break;
// Gestione delle sole categorie mensili
case 'execCategorieMensili':
r.start = 'gestioneCategorieMensili';
r.gestioneCategorieMensili = 'finish';
break;
// Gestione delle sole categorie giornaliere
case 'execCategorieGiornaliere':
//currentAppStatus r.start = 'gestioneCategorieGiornaliere';
r.gestioneCategorieGiornaliere = 'finish';
break;
// Aggiornamento delle tabelle
case 'execAggiornaLog':
r.start = 'gestioneCategorieGiornaliere';
r.gestioneCategorieGiornaliere = 'letturaPDC';
r.letturaPDC = 'finish';
break;
// Aggiornamento delle categorie mensili e delle tabelle
case 'execCategorieMensiliLog':
r.start = 'gestioneCategorieMensili';
r.gestioneCategorieMensili = 'gestioneCategorieGiornaliere';
r.gestioneCategorieGiornaliere = 'letturaPDC';
r.letturaPDC = 'finish';
break;
// Aggiornamento completo (categorie annuali, mensili, log)
case 'execCompleta':
r.start = 'gestioneCategorieAnnuali';
r.gestioneCategorieAnnuali = 'gestioneCategorieMensili';
r.gestioneCategorieMensili = 'gestioneCategorieGiornaliere';
r.gestioneCategorieGiornaliere = 'letturaPDC';
r.letturaPDC = 'finish';
break;
}
}
 
Riga 34 ⟶ 78:
* ================================================================================================
*/
function mainDeletionBot2(PDC_date, days, appStatusRouter, timeout)
{
var catStatus = [];
Riga 43 ⟶ 87:
var writeStatus;
var daysCnt=0;
var nextAppStatus = '';
currentAppStatus = 'letturaPDC'appStatusRouter.start;
botTimeout = setTimeout(function(){ currentAppStatus='timeout'; }, 5timeout*60*1000 );
//token = 0;
token = mw.user.tokens.get( 'editToken' );
 
PDC_date startDate = new Date();
// Inizializzazione stato del bot
//currentAppStatus = 'letturaPDC';
//currentAppStatus = 'gestioneCategorieGiornaliere';
nextAppStatus = '';
 
// Il codice viene eseguito ogni 100 ms fino alla conclusione
Riga 74 ⟶ 116:
currentAppStatus = 'runningCategorie';
// Stato da eseguire quando le categorie giornaliere saranno processate
nextAppStatus = 'finish'appStatusRouter.gestioneCategorieGiornaliere;
// ic è il numero delle sessioni in parallelo
ic = tipologie.length;
Riga 88 ⟶ 130:
summary = 'Bot: creazione/aggiornamento categorie di servizio';
currentAppStatus = 'runningCategorie';
nextAppStatus = 'finish'appStatusRouter.gestioneCategorieMensili;
ic = 1;
break;
Riga 102 ⟶ 144:
summary = 'Bot: creazione/aggiornamento categorie di servizio';
currentAppStatus = 'runningCategorie';
nextAppStatus = 'finish'appStatusRouter.gestioneCategorieAnnuali;
ic = 1;
break;
Riga 174 ⟶ 216:
Running_PDC_date = new Date(PDC_date.getTime());
daysCnt = days;
messages.push('['+d.toISOString()+'] *** Lettura delle procedure di cancellazione ***');
case 'iniziaLetturaPDC':
Riga 240 ⟶ 282:
if( daysCnt == 0)
{
nextAppStatus = 'finish'appStatusRouter.letturaPDC;
currentAppStatus = 'scrittura';
}
Riga 260 ⟶ 302:
case 'finish':
finishDate = new Date();
clearTimeout(botTimeout);
runningTime = Math.floor( finishDate.getTime()-startDate.getTime() );
messages.push('['+d.toISOString()+'] *** ESECUZIONE COMPLETATA in '+runningTime/60+' minuti e '+runningTime%60+' secondi ***');
clearTimeout(botTimeout);
clearInterval(interval);
console.log(messages);
}