|
Помощь
|
|||
---|---|---|---|
#18+
* Необходимо написать класс реализующий блокировку процессов. * Блокировки используются для проверки параллельного запуска процессов * чтобы не запускать несколько одинаковых процессов тогда, когда это вредно. * * Например, скрипт импортирующий новости запускается по крону каждую минуту. * Необходимо проверить, что предыдущий импорт уже завершился, иначе * произойдёт дублирование новостей. Кроме крона могут быть и другие применения. * * Должно работать на windows и unix. * * Важно: необходимо предусмотреть ситуацию, когда скрипт импорта вылетит с FATAL * не дойдя до крайней строки освобождения блокировки. В этом случае блокировка * не должна висеть вечно. * * При выполнении этого задания, бОльшее значение имеет качество написанного вами кода. * Не важно сколько времени вы потратите: 15 минут или 1.5 часа, ведь вы пишете * универсальный класс который будет переиспользован многократно в разных проектах * для разных задач на потяжении многих лет. * * Пожалуйста, реализуйте класс и пришлите файл Blocker.php Нужна помощь в концепции, как сделать. Реализация не обязательна ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2017, 13:33 |
|
Помощь
|
|||
---|---|---|---|
#18+
Я вот думаю, реализовать через таблицу в БД, что бы получилось универсально для ОС. Выставлять к названиям файла скрипта флаги, типо: DONE, FAIL, START итд ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2017, 14:17 |
|
Помощь
|
|||
---|---|---|---|
#18+
mediarise.ru, простое решение 1) использовать синглтон в первом случае 2) использовать exception handling во втором ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2017, 15:53 |
|
|
start [/forum/topic.php?fid=23&fpage=31&tid=1460582]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 145ms |
0 / 0 |