powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP - Отложенное выполнение операции
4 сообщений из 4, страница 1 из 1
PHP - Отложенное выполнение операции
    #39112534
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно сделать такую задачу.
Посетитель на сайте нажимает кнопку или ссылку и PHP-код выполняет определенные команды. Через 10 минут нужно выполнить другие команды.
Например при нажатию на кнопку посетителю предоставляется доступ к некоему внешнему информационному ресурсу, а через 10 минут доступ нужно снять.

Пока я склоняюсь к тому, чтобы использовать спулер заданий и скрипт в планировщике.
То есть PHP-скрипт при нажатии кнопки выполнит определенные команды и добавит в специальную таблицу в БД строку, в которой будет указан идентификатор посетителя, задания и срок действия этого задания. Специальный скрипт запускается планировщиком каждые 5 минут, проверяет эту таблицу и для заданий с истекшим сроком действия выполняет определенные команды, после чего удаляет обработанные строки из БД.
Но тут мне не нравится то, что необходим частый запуск скрипта (каждые 5 минут, а лучше каждую минуту), хотя большая часть запусков будет вхолостую.
Но пока это основной вариант.

Второй вариант — PHP-скрипт будет запускать внешний скрипт, который при запуске ждет определенное время, после чего выполняет остальные команды. Например это может быть shell-скрипт, в котором первой строкой указано sleep 600, а после этого набор команд для отключения доступа к внешнему информационному ресурсу; идентификаторы посетителя передаются в аргументах командной строки.
На первый взгляд должно работать и нет оверхида в виде холостых запусков скрипта планировщиком.
Но есть опасение, что таким образом можно заддосить сервер.

Еще в PHP есть функция sleep и многопоточность.
Мне кажется, что это можно было бы использовать.
Подскажите, получиться ли это использовать для веб-сервера?
Или веб-сервер в любом случае будет прерывать работу PHP по таймауту?

________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
PHP - Отложенное выполнение операции
    #39112553
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.,

планировщик
...
Рейтинг: 0 / 0
PHP - Отложенное выполнение операции
    #39112557
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже для моего второго колхозного варианта есть более кошерный с использованием at.
Попробую с ним поэкспериментировать, мне он больше спулера заданий нравится.
...
Рейтинг: 0 / 0
PHP - Отложенное выполнение операции
    #39112570
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Второй вариант — PHP-скрипт будет запускать внешний скрипт, который при запуске ждет определенное время, после чего выполняет остальные командыПерезагрузка вебсервера (дочерний скрипт помрёт вместе с родителем) - и остальные команды выполнены не будут.

Alibek B.Но тут мне не нравится то, что необходим частый запуск скрипта (каждые 5 минут, а лучше каждую минуту), хотя большая часть запусков будет вхолостую.Можно запустить скрипт один раз и выполнить в нём бесконечный цикл со слипом. Внутри цикла - команды обработки задания. Таким образом, задание можно выполнять с любым интервалом, хоть в три секунды.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP - Отложенное выполнение операции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]