27
cron
cron_run
SYNOPSIS
cron_run()
DESCRIPTION
cron_run exécute tous les scripts *.php du répertoire cron à la racine du site ou du service. Voir la constante CRON_DIR.
cron_run doit être exécutée régulièrement par le démon cron sous Linux ou par le Task Scheduler sous Windows.
Voir le fichier CRONTAB à la racine du site ou du service.
Si cron_run est toujours en cours d'exécution, la fonction retourne false. Sinon, cron_run retourne true.
Voir le script cron_newsletter.php dans CRON_DIR qui appelle newsletter_post pour envoyer toutes les lettres d'information en attente.
- require_once 'models/newsletter.inc';
- newsletter_post();
CODE
- require_once 'registry.php';
Charge le code de la fonction registry.
- define('CRON_DIR', ROOT_DIR . DIRECTORY_SEPARATOR . 'cron');
Définit le répertoire où les scripts exécutés par cron_run sont placés.
- function cron_run() {
- $files=glob(CRON_DIR . DIRECTORY_SEPARATOR . '*.php');
- if (!$files) {
- return true;
- }
- $now=time();
- $semaphore = registry_get('cron_lock', false);
- if ($semaphore) {
- if ($now - $semaphore < 3600) {
- return false;
- }
- }
- registry_set('cron_last', $now);
- registry_set('cron_lock', $now);
- foreach ($files as $f) {
- include $f;
- }
- registry_delete('cron_lock');
- return true;
- }
cron_cleanup
SYNOPSIS
cron_cleanup()
DESCRIPTION
cron_cleanup supprime le verrou créé par cron_run.
CODE
- function cron_cleanup() {
- registry_delete('cron_lock');
- }
Commentaires