Maison  >  Questions et réponses  >  le corps du texte

La tâche Cron ne fonctionne pas correctement à l'heure spécifiée

J'ai un projet Laravel v8 et j'ai créé une tâche cron pour la sauvegarde de la base de données

Cela fonctionne toutes les minutes mais quand je précise l'heure de la journée, cela ne fonctionne pas.

Le fuseau horaire du projet est "Asia/Kolkata" et le fuseau horaire de mon serveur partagé GoDaddy est UTC.

kernel.php

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
        // $schedule->command('backup:clean')->everyMinute();
        $schedule->command('backup:run')->cron('51 3 * * *');
    }

    /**
     * Register the commands for the application.
     *
     * @return void
     */
    protected function commands()
    {
        $this->load(__DIR__.'/Commands');

        require base_path('routes/console.php');
    }
}

Mon cronjob sur Cpanel.

P粉347804896P粉347804896228 Il y a quelques jours486

répondre à tous(2)je répondrai

  • P粉057869348

    P粉0578693482024-03-29 14:22:49

    Remplacez votre kernel.php

    command('backup:clean')->everyMinute();
        }
    
        /**
         * Register the commands for the application.
         *
         * @return void
         */
        protected function commands()
        {
            $this->load(__DIR__.'/Commands');
    
            require base_path('routes/console.php');
        }
    }

    Après cela, définissez la tâche cron sur Cpanel et l'heure à laquelle vous souhaitez l'exécuter

    Vérifiez l'heure indiquée dans cPanel, cron fonctionnera certainement

    répondre
    0
  • P粉232793765

    P粉2327937652024-03-29 13:40:39

    Vous pouvez exécuter cron comme ceci :

    protected function schedule(Schedule $schedule)
    {
         $schedule->command('backup:run')->dailyAt('03:51');
    }

    répondre
    0
  • Annulerrépondre