Laravel планирование: после вызова не вызывается - PullRequest
1 голос
/ 08 января 2020
Приложение

My laravel (5.8) находится на общем хостинге в папке app. Папка, привязанная к домену, public_html расположена рядом с app. У меня есть запланированное задание, подобное этому:

$schedule->command('feed:gen sitemap')
             ->withoutOverlapping()
             ->runInBackground()
             ->dailyAt('03:00')
             ->after(function() use($schedule) {
                $schedule->exec('mv ~/app/public/Sitemap.xml ~/public_html/Sitemap.xml');
             });

, которое создает карту сайта. xml и перемещает ее в папку root веб-сайта. Часть command работает нормально, карта сайта. xml создается в папке ~/app/, но хук after() не вызывается. Я вполне уверен, что пути для команды mv в порядке. С другой стороны, в документах неясно, как объединять несколько вызовов, включая ловушки, и какие вызовы функций можно связывать друг с другом. Может быть, мне нужно связать что-то еще с $schedule->exec()? ..

PS: feed:gen sitemap команда зарегистрирована в routes/console.php как

Artisan::command('feed:gen {type}', function (FeedGenerator $gen, $type) {
    // some code
})->describe('Generates feeds for site');
...