Gestore Cron: configurazione e aiuto

Avvio rapido

  1. Carica e installa lo ZIP di mprcron da "Module Manager".
  2. Apri Cron Manager > Impostazioni > Configurazione e lascia Abilita esecuzione cron attivo.
  3. Scegli Modalità trigger principale e salva le impostazioni.
  4. 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.
  5. Apri Moduli e sincronizza i moduli installati di cui ti servono le attività.
  6. Usa Esegui su un'attività sicura e controlla Log.
  7. 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

  1. Usa Esegui su un'attività sicura. Controlla Log per stato, contesto, durata e anteprima del risultato.
  2. Attendi il prossimo trigger del pianificatore. Controlla Accessi per un accesso server o esterno, poi verifica Ultima esecuzione e Prossima esecuzione dell'attività.
  3. 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.
  4. 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.
  5. 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

RisoltoAggiornato:
Risolto nella versione: 1.3.17
Corretto Salva e rimani affinché salvi le modifiche alle attività come Salva.

Script di amministrazione

RisoltoAggiornato:
Risolto nella versione: 1.3.17
Ripristinati gli script di gestione delle attività affinché i controlli interattivi si carichino correttamente.

Link di amministrazione su PrestaShop 1.6

RisoltoAggiornato:
Risolto nella versione: 1.3.17
Corretta la perdita dei parametri di azione nei link di amministrazione su PrestaShop 1.6.

Rimozione della chiave del pianificatore esterno

RisoltoAggiornato:
Risolto nella versione: 1.3.17
La rimozione della chiave cron-job.org salvata ora conserva i riferimenti alle attività e indica il metodo di pianificazione alternativo effettivo.

Rimozione del segreto di un’attività personalizzata

RisoltoAggiornato:
Risolto nella versione: 1.3.17
La rimozione di un segreto salvato per un’attività personalizzata ora cancella effettivamente il valore memorizzato.

Sicurezza rafforzata

RisoltoAggiornato:
Risolto nella versione: 1.3.14
Sicurezza rafforzata.

Elenco attività dopo una configurazione incompleta

RisoltoAggiornato:
Risolto nella versione: 1.3.11
Corretto l’errore dell’elenco attività in assenza dell’archivio richiesto per le attività.

Errori di esecuzione cron

RisoltoAggiornato:
Risolto nella versione: 1.3.11
Corretto l’errore di esecuzione pianificata dovuto a un conflitto con il contesto del negozio.

Layout del selettore di pianificazione

RisoltoAggiornato:
Risolto nella versione: 1.3.11
Corretto il layout del selettore di pianificazione negli editor delle attività.

Separatori duplicati nel modulo attività

RisoltoAggiornato:
Risolto nella versione: 1.3.11
Rimossi i separatori duplicati dal modulo delle attività personalizzate.

Il log di esecuzione del cron cresce senza limiti — riempie lo spazio su disco

RisoltoAggiornato:
Risolto nella versione: 1.3.13

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

Implementato
Dal back office puoi creare, modificare e pianificare attività tramite URL, callable PHP o comando. I comandi vengono eseguiti dal cron del server o da test espliciti dell’amministratore e vengono saltati dagli avvii HTTP esterni.

Attività pianificate personalizzate

Implementato
Crea e gestisci attività pianificate personalizzate dal back office.

Pianificazione e integrazione cron-job.org

Implementato
Scegli le modalità di attivazione cron e collega cron-job.org per la pianificazione esterna.

Aggiornamenti del modulo con un clic

Implementato
Installa gli aggiornamenti del modulo direttamente dal back office.

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.

Caricamento...
Torna su