powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помощь
4 сообщений из 4, страница 1 из 1
Помощь
    #39486500
mediarise.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
* Необходимо написать класс реализующий блокировку процессов.
* Блокировки используются для проверки параллельного запуска процессов
* чтобы не запускать несколько одинаковых процессов тогда, когда это вредно.
*
* Например, скрипт импортирующий новости запускается по крону каждую минуту.
* Необходимо проверить, что предыдущий импорт уже завершился, иначе
* произойдёт дублирование новостей. Кроме крона могут быть и другие применения.
*
* Должно работать на windows и unix.
*
* Важно: необходимо предусмотреть ситуацию, когда скрипт импорта вылетит с FATAL
* не дойдя до крайней строки освобождения блокировки. В этом случае блокировка
* не должна висеть вечно.
*
* При выполнении этого задания, бОльшее значение имеет качество написанного вами кода.
* Не важно сколько времени вы потратите: 15 минут или 1.5 часа, ведь вы пишете
* универсальный класс который будет переиспользован многократно в разных проектах
* для разных задач на потяжении многих лет.
*
* Пожалуйста, реализуйте класс и пришлите файл Blocker.php

Нужна помощь в концепции, как сделать. Реализация не обязательна
...
Рейтинг: 0 / 0
Помощь
    #39486555
mediarise.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я вот думаю, реализовать через таблицу в БД, что бы получилось универсально для ОС. Выставлять к названиям файла скрипта флаги, типо: DONE, FAIL, START итд
...
Рейтинг: 0 / 0
Помощь
    #39486688
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mediarise.ru,

простое решение

1) использовать синглтон в первом случае
2) использовать exception handling во втором
...
Рейтинг: 0 / 0
Помощь
    #39486731
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в пределах одного сервера, то просто создаешь файл по ID процесса и блокируешь на запись.
Отдельным скриптом, по крону, например, проверяешь, что все процессы на которые указывают файлы живы, если нет, удаляешь.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помощь
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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