GoldenEagle88
@GoldenEagle88

Возможен ли синхронный запуск скрипта?

В данный момент есть бд с 50-100 аккаунтами.Скрипт заходит в бд берет 1 аккаунт ,выполняет с ним действия ,потом 2 и т.д.Но скрипт выполняется слишком долго.

Возможно ли с одного скрипта запускать второй скрипт с параметрами script.php?id=1.После с таймаутом запустить этот же скрипт script.php?id=2.Первый скрипт будет прерван?

И как лучше организовать данную работу.
  • Вопрос задан
  • 235 просмотров
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Если хотите самодельное решение:
1. Создается очередь (список) заданий в базе данных, например.
2. Запускается супервизор (надсмотрщик) смотрит в эту очередь, проверяет какой статус у заданий.
Статусы могут быть такими: "готово", "новое", "в процессе (pid, time)". Можно своих еще добавить.
Супервизор смотрит сколько заданий "в процессе" и проверяет их - если процесс с таким pid отсутствует или висит слишком давно - его можно перезапустить.
Если есть еще свободные слоты для запуска новых воркеров, супервизор запускает их используя fork, например.
3. Воркер берет новое задание, пишет туда свой pid и время запуска и пытается его выполнить. Если всё получилось - отмечает как "готово" и завершается.

Если самоделка не нужна, используйте gearman, например.
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
Комментировать
Ваш ответ на вопрос

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

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