Добрый день!Есть задача чтобы несколько процессов одного и того же скрипта sample.script имели доступ
к одному массиву данных независимо когда они были запущены. Скрипты запускаются параллельно, достаточно часто. По имеи после выполнения каждого скрипта меняется значение, о котором должны знать все другие процессы.Пока я вижу следующие решения:
1. Общая база данных MySQL (думаю накладно по расходам)
2. Скрипт который работает как демон и предоставляет общую память клиентским подключениям (shmget), которые в свою очередь оперируя семафорами решают
3. Локальная база данных SQLLite/BDBТеперь собственно для чего это всё нужно:
В Squid есть возможность использовать редиректор, который в свою очередь можно распаралелить на несколько процессов. Задача чтобы у них была одна и та же информаци о клиентах, и изменение сделанные первым скриптом изменялись у других.
Еще вариант - если данные имеют простую структуру, то можно использовать для этого файл. Для ускорения доступа использовать отображение файла в память.
Я думаю лучше всего воспользоватся bdbОчень удобный интерфейс с отличной масштабируемостью и скоростью работы.
Можно конечно и самому писать код для работы с общей памятью, семафорами... Крайне маловероятно что сделаешь лучше, а хуже - запросто.
Спасибо =)