serg_small_developer
@serg_small_developer
Начинающий прогер

Как запускать по очереди крон?

И снова привет). Постараюсь написать как можно точнее что я хочу), Вообщем делаю приложение для себя,
лучше на примере, пользователь вводит ссылку и скрипт собирает много инфы с аналитики и т.д. по этой ссылке, так вот чтобы страница не отдавала 504 я думаю что лучше всего после нажатие кнопки "Запустить" или что-то похожее (суть не в этом), отправлять этот скрипт на крон (я называю его ворк))), и вот когда скрипт отработает то он на отдельной стр. сделает выводт инфы и сообщит пользователю что сбор инфы закончен (типа История запросов).

И сам вопрос - как сделать очередь запусков крона или что-то подобное для того что бы если два пользователя в одно время запустят крон, то что бы сначала крон отработал для первого пользователя, а потом второго, или я ошибаюсь и подобное не нужно?

Может есть уже специальные фреймворки или ещё что-то для подобного ну, а если я не прав то поправте).
  • Вопрос задан
  • 483 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега PHP
♬♬
Очередь задач на PHP можно реализовать разными средствами. Например, сервер и клиенты Gearman («пушка по воробьям» для вашей задачи) или Queues в фреймворке Laravel.

По кнопке «Запустить» просто сохраняется введённая ссылка. А в фоне постоянно работает процесс (или несколько), ожидающий задачи и обрабатывающий их. Этот «рабочий» процесс, запущенный из командной строки, может выполняться сколь угодно долго. Выполнив одно задание он тут же переходит в режим ожидания следующего. Уже есть следующее – сразу начинает выполняться. И так далее.

Если 100 посетителей почти одновременно создадут свои задачи, те выстроятся в очередь и будут обрабатываться последовательно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы