web-dev-qa-db-fra.com

Exécuter un fichier php quotidiennement à une heure précise

J'essaie d'ajouter un travail cron pour exécuter le fichier tous les jours à 19 heures.

Comment puis-je ajouter la commande d'exécution de fichier et spécifier de l'exécuter à 19 heures?

// Scheduled Action Hook
function run_my_script( ) {
// run my file : mysite.com/cron.php
}
// Schedule Cron Job Event
function USERS_MONITORING() {
if ( ! wp_next_scheduled( 'USERS_MONITORING' ) ) {
    wp_schedule_event( time(), 'daily', 'USERS_MONITORING' );
}
}
add_action( 'wp', 'USERS_MONITORING' );

Je ne sais pas s'il y a une meilleure solution.

2
octavelhiver

Vous pouvez inclure le fichier PHP et effectuer les tâches, si WP-cron est votre seule option.

// Scheduled Action Hook
function run_my_script( ) {
    require_once('related/path/to/php/file.php');
}
// Schedule Cron Job Event
function USERS_MONITORING() {
    if ( ! wp_next_scheduled( 'USERS_MONITORING' ) ) {
        wp_schedule_event( strtotime('07:00:00'), 'daily', 'USERS_MONITORING' );
    }
}
add_action( 'USERS_MONITORING', 'run_my_script' );

Notez que vous devez inclure le chemin associé. Si vous souhaitez accéder au fichier PHP par son URL, vous devez utiliser cURL à la place.

En outre, comme @rarst l'a mentionné dans l'un de ses messages:

Remarque: WP Cron n'est pas garanti pour s'exécuter à une heure précise, car il est déclenché par des visites sur le site. Je ne suis pas sûr que si les courses récurrentes "collent" à minuit ou s'en échappent lentement, il vous faudra peut-être effectuer un réajustement périodique.

0
Jack Johansson