8 && $ora < 19 && empty(getQueueLog($_SESSION["ente"]->codice, "anac_pubblica-H{$ora}")))) { writeQueueLog($_SESSION["ente"]->codice, "anac_pubblica-H{$ora}"); $schede = NuovaPiattaformaAppalti::fetchSchede( ["codice"], [ "stato" => 90, "errore" => "NO", ], true, true ); $count = count($schede); if ($count > 0) { alertManager::printCliInfo("Verifica pubblicazione {$count} schede."); foreach($schede as $scheda) { try { $npa = NuovaPiattaformaAppalti::init(null, $scheda["codice"]); if (!$npa) { alertManager::printCliAlert("Impossibile inizializzare NuovaPiattaformaAppalti per la scheda {$scheda['codice']}"); continue; } $validRoles = $npa->getPermissionFor("serviziComuni", "result"); foreach ($validRoles as $role) { // if ($npa->isUserLoggedIn($role)) { $cf = $npa->getUserFromRole($role, RoleSyncBehaviour::NEVER_SYNC); if ($cf === null) continue; $npa->setCronOverrideUser($role, $cf); // if ($npa->isUserLoggedIn()) { // per velocizzare il feedback sulle operazioni asincrone non controlliamo il login dell'utente per le operazioni di controllo solo esito, operazione in qualche modo concessa, anche se non esplicitamente da ANAC in un GDL pre-produzione if (!empty($npa->scheda["codice_rettifica"])) $npa->rectify(); // Verifica esito rettifica else $npa->publish(); // Verifica esito pubblicazione } break; // } // } } catch (\Throwable $t) { $alert = <<getMessage()} {$t->getTraceAsString()} ERR; alertManager::printCliAlert($alert); ec_create_ticket("Eccezione in NPA::PUBBLICA", $alert, $ente->codice ?? 0); } $npa = null; } } else { alertManager::printCliInfo("Nessuna scheda da pubblicare"); } } else { alertManager::printCliInfo("Salto la verifica pubblicazione ANAC per l'ora {$ora}"); } }