Gestore Cron: configurazione e aiuto
Avvio rapido
- Carica e installa lo ZIP di mprcron da "Module Manager".
- Apri Cron Manager > Impostazioni > Configurazione e lascia Abilita esecuzione cron attivo.
- Scegli Modalità trigger principale e salva le impostazioni.
- Copia Comando cron server o URL cron HTTP e configura il relativo pianificatore; per cron-job.org, salva la chiave API e crea o sincronizza il job.
- Apri Moduli e sincronizza i moduli installati di cui ti servono le attività.
- Usa Esegui su un'attività sicura e controlla Log.
- Attendi il trigger pianificato, quindi conferma un accesso in Accessi e i valori aggiornati di Ultima esecuzione e Prossima esecuzione in Attività.
Richiede PrestaShop 1.6.1 o successivo e PHP 7.1 o successivo.
Manuale di configurazione
Installa e scegli un trigger
Nel Back Office, apri Moduli > "Module Manager", scegli "Upload a module" e carica lo ZIP del modulo. Installalo, poi fai clic su "Configure". Nelle versioni precedenti di PrestaShop, usa la pagina Moduli corrispondente.
Apri Cron Manager > Impostazioni > Configurazione. Usa Cron server (consigliato) quando il tuo hosting supporta comandi PHP pianificati. Usa cron-job.org o un altro pianificatore HTTP esterno quando ti serve un trigger remoto. Fallback Front Office e Fallback Back Office richiedono visite alle pagine. Non garantiscono un orario di esecuzione fisso.
Installa i moduli MPR di cui vuoi eseguire le attività. Apri Moduli in Cron Manager e sincronizza le loro definizioni. Un trigger centrale avvia le attività registrate giunte a scadenza. Non rileva script arbitrari come attività.
Configura l'esecuzione
| Impostazione | Valore iniziale | Cosa fare |
|---|---|---|
| Abilita esecuzione cron | Sì | Lascia attivo per eseguire le attività giunte a scadenza tramite chiamate cron autenticate. La disattivazione conserva le registrazioni. Le chiamate segnalano zero attività. |
| Modalità trigger principale | Cron server | Seleziona il trigger che configurerai effettivamente. |
| Chiave API cron-job.org | Vuoto | Inserisci la chiave API per il pianificatore esterno integrato. Un campo segreto vuoto conserva la chiave salvata. Usa i relativi controlli di cancellazione/disconnessione per rimuoverla. |
| Intervallo cron-job.org | Orario | Scegli ogni ora, ogni 30, 15, 5 minuti oppure ogni minuto. Questo è l'intervallo del trigger. Ogni attività mantiene comunque la propria pianificazione. |
In Endpoint cron, copia Comando cron server, URL cron HTTP o Token cron condiviso. Il token viene generato come 64 caratteri esadecimali. Rigenerarlo invalida i vecchi comandi e URL. Aggiorna ogni pianificatore dopo la rigenerazione.
Cron server
Il comando generato da copiare usa --token=TOKEN, accettato dall'esecutore attuale. Per una configurazione server, puoi invece mettere il token nella prima riga di un file esterno alla directory web pubblica. Concedi l'accesso in lettura solo all'utente che esegue il PHP pianificato, per esempio con la modalità file 0400. Usa percorsi assoluti adatti al tuo hosting:
* * * * * /usr/bin/php /path/to/prestashop/modules/mprcron/cron.php --token-file=/private/mprcron.token --max-tasks=20 --max-seconds=300 --context=cron
Non copiare letteralmente questi percorsi di esempio. L'eseguibile PHP CLI deve poter caricare il negozio e le sue dipendenze. Le attività di comando richiedono anche che il server consenta l'esecuzione dei processi.
Pianificatore HTTP
Copia URL cron HTTP generato dal negozio. Il formato è:
https://yourshop.com/module/mprcron/cron?token=YOUR_TOKEN
https://yourshop.com/module/mprcron/cron?token=YOUR_TOKEN&max_tasks=20&max_seconds=300
Per cron-job.org, salva la chiave e l'intervallo, poi usa il controllo di creazione/sincronizzazione del job. Usa Test richiesta pubblica per verificare la raggiungibilità. Da questa schermata puoi mettere in pausa, riprendere, eliminare o disconnettere il job esterno. Le barriere di autenticazione, le restrizioni di manutenzione e i firewall possono bloccare le richieste remote.
Limiti e contesto
Una chiamata all'esecutore prevede per impostazione predefinita 20 attività e 300 secondi. I limiti vengono vincolati a un intervallo da 1 a 100 attività e da 10 a 300 secondi. Sono parametri di invocazione, non campi del modulo di configurazione. La CLI accetta --max-tasks, --max-seconds e --context=cron|front|admin. L'endpoint del front controller del modulo esegue nel contesto cron. Non aspettarti che la sua query string cambi quel contesto.
Gestisci attività e moduli
Usa Pannello di controllo per un riepilogo. Attività mostra il modulo proprietario, la chiave dell'attività, l'etichetta, il tipo, la pianificazione, lo stato di abilitazione, il contesto, la priorità, il timeout, l'ultima esecuzione e la prossima. Usa Esegui per l'esecuzione immediata. Usa Metti in pausa o Riprendi per modificare una singola attività. Modifica una frequenza definita dal modulo e, quando necessario, ripristina il valore predefinito del modulo.
Usa Moduli per sincronizzare le definizioni, mettere in pausa o riprendere le attività di un modulo oppure rimuovere le registrazioni. La rimozione di una registrazione definita dal modulo può essere annullata sincronizzando il proprietario. Rimuovere un'attività personalizzata elimina la relativa definizione personalizzata.
Crea un'attività personalizzata
Il tuo profilo dipendente deve avere i diritti di visualizzazione, aggiunta, modifica o eliminazione delle attività corrispondenti all'azione che usi.
Apri il modulo per l'attività personalizzata in Attività.
| Campo | Valore predefinito | Uso |
|---|---|---|
| Nome | Vuoto | Inserisci un'etichetta descrittiva. |
| Tipo | URL | Scegli URL, Callback PHP o Comando CLI. |
| Pianificazione | hourly:00 |
Inserisci una pianificazione supportata. |
| Modulo proprietario | mprcron |
Scegli il modulo installato responsabile dell'attività. |
| Abilitato | Sì | Disattiva mentre prepari un'attività che non vuoi ancora pianificare. |
| Priorità | 50 | I numeri più bassi vengono eseguiti per primi. |
| Timeout | 55 secondi | I valori salvati hanno un minimo di 10 secondi. |
| URL | Vuoto | Inserisci una destinazione HTTP o HTTPS per un'attività URL. |
| Token segreto | Vuoto | Token bearer facoltativo. Viene aggiunto a meno che le intestazioni non includano già Authorization. |
| Metodo | GET | GET, POST, PUT, PATCH o DELETE. |
| Stato HTTP atteso | 200 | Usa lo stato richiesto oppure 0 per accettare qualsiasi risposta 2xx o 3xx. |
| Intestazioni | Vuoto | Inserisci un'intestazione HTTP per riga. |
| Corpo | Vuoto | Corpo della richiesta per POST, PUT o PATCH. |
| Callable | Vuoto | Callback PHP come ClassName::method o module_name::method. |
| Comando | Vuoto | Comando shell per l'esecutore CLI del server o per un test esplicito nel Back Office. |
Usa Esecuzione di test o Salva ed esegui test e controlla il risultato. Un pianificatore HTTP o una visita a una pagina di fallback non esegue le attività di comando. L'azione Esegui di Attività usa il contesto esplicito di test amministrativo.
Pianificazioni
hourly:00
daily:04:00
weekly:1:08:00
weekly:1,3:08:00
every:3600
*/15 * * * *
0 3 * * *
30 2 * * 1
Nei giorni settimanali, 0 è domenica e 1 è lunedì. every:3600 usa i secondi. Le pianificazioni di calendario usano il fuso orario dell'ambiente PHP. Confrontalo con gli orari mostrati nell'elenco delle attività.
Per un'importazione da un fornitore, inserisci Nome Nightly supplier import, Tipo URL, Metodo POST, Pianificazione daily:02:30 e l'URL del fornitore. Imposta Stato HTTP atteso su 200. Aggiungi Content-Type: application/json a Intestazioni e questo Corpo:
{"source":"prestashop","mode":"scheduled"}
Per un callable usa module_name::method. Per un comando usa un comando assoluto come php /path/to/script.php.
Controlla l'esecuzione e risolvi i problemi
- Usa Esegui su un'attività sicura. Controlla Log per stato, contesto, durata e anteprima del risultato.
- Attendi il prossimo trigger del pianificatore. Controlla Accessi per un accesso server o esterno, poi verifica Ultima esecuzione e Prossima esecuzione dell'attività.
- Se arrivano accessi senza esecuzioni, controlla Abilita esecuzione cron, lo stato di abilitazione dell'attività, la pianificazione e il contesto. Un'attività già acquisita da un altro esecutore viene saltata.
- Se non arrivano accessi, controlla il percorso del pianificatore, il token e la raggiungibilità pubblica. Un'esecuzione manuale prova solo l'attività stessa; il pianificatore dell'hosting deve comunque chiamare l'URL.
- Per risultati di errore, timeout o arresto anomalo, esamina il risultato e lo script di destinazione. Le esecuzioni non riuscite posticipano la successiva esecuzione applicando un ritardo di nuovo tentativo. Quando disponibile, viene usato l'isolamento dei sottoprocessi CLI, così un'attività bloccata non deve necessariamente fermare il lotto.
Gli URL diagnostici autenticati usano lo stesso endpoint:
?token=YOUR_TOKEN&action=status
?token=YOUR_TOKEN&action=health
?token=YOUR_TOKEN&action=tasks
?token=YOUR_TOKEN&action=tasks&module=mprcron
?token=YOUR_TOKEN&action=run&id_task=123
Accessi distingue trigger server, esterni, front office, Back Office, fallback e manuali. Log registra le esecuzioni. Usa Impostazioni > Integrità per i controlli dell'installazione. Licenza, Assistenza e Aggiorna si trovano anch'essi sotto Impostazioni.
Registra attività da un modulo
Se gestisci un modulo MPR, usa il MyPrestaRocks\Cron\CronTrait incluso, dichiara le attività in getCronTasks() e richiama i suoi metodi di installazione e disinstallazione del cron nel ciclo di vita del modulo. Una definizione di attività può contenere:
'refresh_feed' => [
'label' => 'Refresh product feed',
'callable' => 'mymodule::cronRefreshFeed',
'schedule' => 'daily:03:00',
'context' => 'cron',
'priority' => 50,
'timeout' => 120,
]
Sincronizza il proprietario in Moduli dopo aver modificato le definizioni.
Disattiva o disinstalla
Disattiva Abilita esecuzione cron per un arresto temporaneo e controlla separatamente il pianificatore esterno. Rimuovi la voce cron dell'hosting o metti in pausa/elimina il job esterno quando ritiri il modulo. Disinstallalo da "Module Manager". La procedura di disinstallazione annulla la registrazione delle attività proprie di Cron Manager e rimuove il suo menu. Conserva le tabelle cron condivise perché altri moduli possono ancora usarle.
Compatibilità
Richiede PrestaShop 1.6.1 o successivo e PHP 7.1 o successivo.
Domande
Ancora nessuna domanda su questo modulo
Chiedi qualsiasi cosa su installazione, compatibilità o configurazione. Le risposte compaiono qui.
Problemi noti
11
Salva e rimani
Script di amministrazione
Link di amministrazione su PrestaShop 1.6
Rimozione della chiave del pianificatore esterno
Rimozione del segreto di un’attività personalizzata
Sicurezza rafforzata
Elenco attività dopo una configurazione incompleta
Errori di esecuzione cron
Layout del selettore di pianificazione
Separatori duplicati nel modulo attività
Il log di esecuzione del cron cresce senza limiti — riempie lo spazio su disco
Ogni esecuzione del cron registra ora di inizio, ora di fine e output senza alcuna rotazione. Dopo mesi di attività, la tabella dei log supera 1GB sui negozi attivi.
Nota sulla risoluzione
Aggiunta la rotazione automatica dei log con un periodo di conservazione configurabile (predefinito: 30 giorni). Le voci vecchie vengono eliminate a ogni esecuzione del cron.
Richieste funzionalità
4
Implementato
Gestione delle attività cron personalizzate dal back office
Attività pianificate personalizzate
Pianificazione e integrazione cron-job.org
Aggiornamenti del modulo con un clic
Registro modifiche
v1.3.122026-09-25
- AddedAdd custom cron task management
- AddedRelease cron manager 1.2.0
- Addedself-healing infrastructure with automatic diagnostics and repair
- Addedcomplete FR/DE/ES/IT/PL translations
- ImprovedUse shared admin form panel for cron tasks
- FixedSync install integrity success handling
- FixedRelease cron install integrity scope
- FixedPrepare cron manager release
- FixedRemove duplicate custom task form dividers
Versioni precedenti
v1.3.92026-09-10
- Synced the install-integrity success handling from the shared package into the customer artifact.
- Addedthe 1.3.8 to 1.3.9 upgrade finalizer so the install-integrity snapshot refreshes cleanly.
v1.3.82026-09-04
- Separated post-install infrastructure checks from runtime monitoring so fresh installs do not fail because of old cron history.
- Reset stale monitoring and cron-job.org reachability state on fresh install, and clear obsolete reachability markers during upgrade.
- Fixedserver-cron configuration status so cron-job.org reachability is shown as not required instead of a blocking alert.
- Added1.3.7 to 1.3.8 upgrade finalization for notifier hooks and install integrity.
v1.3.72026-08-25
- Synced bundled MPR shared packages with current package sources.
- Addedlazy first-visit install integrity banner wiring for new installs and upgrades.
- Addedupgrade finalization for existing installs so standard admin tabs, hooks, schema, and integrity state are refreshed.
- Improvedconfiguration form targeting and save behavior across PrestaShop 1.7, 8, and 9.
v1.3.62026-06-16
- Addeda full custom cron task editor for URL, PHP callback, and CLI command executors.
- Addeddirect five-field cron expression input with live schedule preview for existing expressions.
- AddedAJAX test runs from the task header with inline response output and toast/alert feedback.
- Addedcron-job.org integration support for external trigger setup and synchronization.
- Improvedadvanced option and dependent-field behavior in the shared admin form UI.
v1.2.02026-05-05
- AddedCron trigger modes + cron-job.org integration
- Addedadmin menu management via MenuInstaller for streamlined module setup
- Addedself-healing integrity checks for automatic diagnostics and repair
- AddedLicense management tab with key management and renewal options
- Addedcomplete FR/DE/ES/IT/PL translations
v1.1.02026-02-18
- AddedPrestaShop 9 and Hummingbird theme compatibility
- Addedtask execution history chart showing success and failure rates over the last 30 days
- Improvedlog rotation to compress archived log files instead of deleting them outright
- Fixedpseudo-cron fallback not triggering when all page visits are served through Varnish cache
- Addedemail alert when a scheduled task fails more than a configurable consecutive number of times
v1.0.02025-05-30
- Initialrelease of MPR Cron Manager
- InitialCentral dashboard listing all registered cron tasks across installed MPR modules
- InitialSingle system cron entry replaces per-module cron setup for simpler server configuration
- InitialPseudo-cron fallback executes overdue tasks on front-end page visits when no system cron exists
- InitialPer-task execution log with last run timestamp, duration, and exit status
- InitialLog rotation with configurable retention period in days
Demo
Prova il modulo completo
- Negozio demo pronto Esplora un negozio demo pronto nel tuo browser.
- Senza registrazione Nessun account, e-mail o dominio del negozio richiesto.
Aprendo questa demo accetti i termini della demo e la politica sulla privacy.