У меня есть сайт, на котором пользователи должны зарегистрироваться, а аутентификация основана на переменных SESSION и DB.
Чтобы упростить, позвольте мне описать это следующим образом: у меня есть простые пользователи, которые принадлежат к группам, и у меня есть менеджеры групп. Все они имеют подписку. Когда менеджер группы решает обновить услугу, это делается для всех его пользователей немедленно. Мне нужно будет обновить все подписки, и мне нужно будет взимать плату за каждую подписку отдельно.
Так. Что мне нужно сделать, так это перейти к БД и начать один за другим:
1. charge 2. receive status from cc company. 3. update the DB entry accordingly. 4. repeat for next simple user
Дело в том, что когда менеджер группы обновляет услугу, мне нужно будет запустить пакетный процесс, который может занять некоторое время, но если менеджер группы закрывает браузер по какой-либо причине (нажимает кнопку остановки, питание идет out, zillion другие причины, по которым связь отключается), действие не будет завершено. И пользователи будут оставлены без лечения.
Я думал, что это можно сделать, чтобы запустить команду оболочки с PHP-скриптом. Я бы отправил параметры сценарию, подобному системе («php batch.php? ID = $ group_id? Process = all»), который, в свою очередь, мог бы выполнить эту работу.
Моя проблема заключается в том, что я использую аутентификацию своих пользователей и данных на веб-сайте, как сказано, по параметрам SESSION и т. Д. Но в этом случае (вызов системной команды) я не могу пойти и проверить, кто на самом деле уволил этот сценарий. Это может быть пользователь, это может быть сценарий, который я намеревался.
Я хотел бы запретить пользователям доступ к этому скрипту, и я хочу, чтобы этот скрипт был завершен после его выпуска.
Как я могу это сделать? Любые другие предложения?
Благодаря!