эффективный способ запуска автоматических c задач для более чем 200 маршрутов (задач) laravel 5.8 php cron - PullRequest
0 голосов
/ 15 февраля 2020

Есть несколько маршрутов (300), которые должны выполняться каждые 2 часа. Я никогда не выполнял такую ​​задачу, и я очень ценю вашу помощь. после поисков по этому поводу у меня есть 4 способа сделать это (учитывая время и проект):

1 - добавить одну работу cron для каждого URL вручную в cpanel, которую я понял, так как это маршрут laravel это было бы невозможно. если я не сделаю один файл php для каждого URL-адреса, сверните URL-адрес в этом файле php и укажите направление для него в задании cron.

php -q /home/yourCpanelUsername/public_html/filename1.php (curls one laravel route)
php -q /home/yourCpanelUsername/public_html/filename2.php (curls another laravel route)
php -q /home/yourCpanelUsername/public_html/filename3.php (and so on)

2 - запишите расписание нескольких задач в laravel в соответствии с к их документации

3 - создайте один и только один php файл и укажите его адрес в задании cron, а затем в первом используйте curl_multi, как описано здесь или здесь или здесь

php -q /home/yourCpanelUsername/public_html/multicurlcron.php (curls multiple routes)

4 - создайте один laravel график задач и внутри его функции используйте curl multi nentioned выше (номер 3) что-то как:

protected function schedule(Schedule $schedule)
    {
        $schedule->call(function () {
            // here is the part for curl multi code
        })->daily();
    }

Какой из них быстрее? и учитывая, что существует 300 маршрутов, какой путь более эффективен?

заранее большое спасибо

...