<meta http-equiv="content-type" content="text/html; charset=utf-8"><div>Привіт всім!</div><div><br></div>Існує демон котрий створює child-процеси для виконання певних операції з даними. Виникла необхідність <meta http-equiv="content-type" content="text/html; charset=utf-8">з інших скриптів відслідковувати прогрес роботи цих воркерів, яких одночасно може бути від 0 до 30. Хотілося б якесь готове рішення на зразок scoreboard файла (як в proftpd чи mod_status в apache), в який процеси могли б писати інформацію по своєму прогресу і який можна було б прочитати іншим perl-скриптом.<div>
<br></div><div>Подивився оглядово на кілька модулів:</div><div><br><div><div>Parallel::Scoreboard ( <a href="https://metacpan.org/module/Parallel::Scoreboard">https://metacpan.org/module/Parallel::Scoreboard</a> )</div><div>
Дозволяє зберігати дані будь-якого формату, проте в сорсах не знайшов використання mmap, відповідно часте писання в файл створюватиме накладні витрати.</div><div><br></div><div>IPC::ScoreBoard ( <a href="https://metacpan.org/module/IPC::ScoreBoard">https://metacpan.org/module/IPC::ScoreBoard</a> )</div>
<div>Створює двовимірний масив цілих чисел, де власне можна оновлювати інформацію з процесів.</div><div>Хотілося б зберігати ще і string дані (наприклад шлях до файлів). В документації автор приводить приклад пакування рядків в колонки матриці, але тут ще потрібно враховувати ширину матриці, щоб не вийти за її межі.</div>
<div><br></div><div><div>Proc::Scoreboard ( <a href="https://metacpan.org/module/Proc::Scoreboard">https://metacpan.org/module/Proc::Scoreboard</a> )</div><div>Останнє оновлення датується 2000 роком, тому відхиляється.</div>
</div><div><br></div><div>Інших модулів по цій темі поки ще не дивився. Наразі, як я бачу, прийнятний варіант - IPC::ScoreBoard, на якому планую зробити кілька бенчмарків.</div><div>Цікавить чи був у когось досвід подібної комунікації через scoreboard.</div>
<div>Будь-які коментарі та поради - вітаються.</div><div><br></div><div>Дякую.</div><div><br></div><div>p.s.: якщо мова спільноти лише російська - я можу перекласти питання</div><div><br></div><div>-- </div><div>Best regards<br>
Taras Yagniuk</div></div></div>