Задать вопрос

Как запускать скрипт паралельно разными пользователями?

Есть у меня php скрипт который парсит определенную информацию с одного сайта и размещает ее на другом. В папке со скриптом есть другие папки и файлы куда он пишет определенную инфу, удаляет и создает файлы. чистит папки и т.д

Сейчас этот скрипт я запускаю сам локально на OpenServer, все работает.

Но хочу его закинуть на хостинг. И дописать к нему систему авторизации. Чтоб несколько пользователей могли пользоваться данным скриптом.

Как мне сделать, чтоб каждый отдельный пользователь запускал свою копию скрипта? И чтоб каждая такая копия работала со своей отдельной директорией для рабочих файлов? Так как у каждого пользователя информация для парсинга будет уникальной. И нужно что под каждую копию запущенного скрипта, была своя рабочая папка с файлами.

Чтоб НЕ было так, что каждый пользователь запускает свою копию скрипта, но при этом папки и файлы которые нужны для работы скрипта, остались общими для всех копий скрипта.

Хотя бы подскажите, в какую сторону копать? Я вообще даже не представляю с какой стороны подойти и с какого запроса начать гуглить эту тему.

Заранее благодарен за помощь!
  • Вопрос задан
  • 143 просмотра
Подписаться 3 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@profaller
Делаешь фронт-скрипт который проводит авторизацию и т.д. Этот скрипт запускает для каждого юзера воркера (твой рабочий скрипт, который что-то там делает). Примерно так:
$command = 'nohup php my_super_script.php --dir_param=/my_work_dir/  > /dev/null 2>&1 & echo $!';
exec($command, $output);
$pid = (int)$output[0];


Сохраняешь pid с привязкой к юзеру (файлом или в БД, это уже на твое усмотрение). При заходе юзера по этому pid ищешь процесс, если не нашел запускаешь заново.

Вот небольшой класс для работы с внешними процессами - https://gist.github.com/profaller/f0301eb5d67a6b79...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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