Utente:FixBot/DeletionBot/main2.js: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 1:
// La variabile contiene i messaggi di log del bot
var messages = [];
var currentAppStatus;
Riga 12 ⟶ 11:
function startDeletionBot()
{
var appStatusRouter;
PDC_date = new Date();▼
appStatusRouter = generaTabellaRouting('execAggiornaLog');
mainDeletionBot2(new Date(), 8, appStatusRouter, 5);
currentAppStatus = 'letturaPDC';▼
}
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':
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;
botTimeout = setTimeout(function(){ currentAppStatus='timeout'; },
//token = 0;
token = mw.user.tokens.get( 'editToken' );
▲ //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 =
// ic è il numero delle sessioni in parallelo
ic = tipologie.length;
Riga 88 ⟶ 130:
summary = 'Bot: creazione/aggiornamento categorie di servizio';
currentAppStatus = 'runningCategorie';
nextAppStatus =
ic = 1;
break;
Riga 102 ⟶ 144:
summary = 'Bot: creazione/aggiornamento categorie di servizio';
currentAppStatus = 'runningCategorie';
nextAppStatus =
ic = 1;
break;
Riga 174 ⟶ 216:
Running_PDC_date = new Date(PDC_date.getTime());
daysCnt = days;
case 'iniziaLetturaPDC':
Riga 240 ⟶ 282:
if( daysCnt == 0)
{
nextAppStatus =
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 ***');
clearInterval(interval);
console.log(messages);
}
|