Написать многопоточный демон на bash
900 UAHИтак, есть скрипт script1.php, который вызывается с параметрами: script1.php?id=1
Нужно написать демон под Centos7, который будет делать следующее:
1. Запускаем скрипт daemon.sh через ssh.
2. Демон запускает скрипт script3.php и получает в ответ такую строку: "1,5,147,2058" - т.е. набор номеров через запятую.
3. Демон создает столько потоков, сколько было номеров в той строке, и в каждом потоке запускает скрипт script1.php?id=1, где для параметра "id" подставляется очередной номер из этой последовательности.
Т.е. если от script3.php получена строка "1,5,147,2058", то будут запущены такие потоки:
script1.php?id=1
script1.php?id=5
script1.php?id=147
script1.php?id=2058
Номеров (а значит потоков) может быть и 1000 и 2000.
4. От каждого скрипта нужно дождаться ответ. Если скрипт завершился нормально, без ошибок, то ничего не делаем, а текстовый ответ скрипта (он написан для запуска в браузере) перенаправляем в пустоту. Если же запуск скрипта завершился ошибкой (503, "Server is temporarily unavailable" и т.д.), то дополнительно запускаем скрипт script2.php?id=1, где id - все тот же номер, который был использован для запуска скрипта script1.php
Что делает script2.php? Он просто логирует номера, которые завершились ошибкой сервера.
5. Итак, script1.php в текущем потоке выполнился (нормально или с ошибкой, неважно). Демон должен перезапустить его. И так он должен отслеживать все запущенные потоки, асинхронно (т.е. чтобы перезапустить скрипт в потоке, не нужно ждать когда завершаться скрипты в остальных потоках). И так бесконечно, до пункта 6.
6. Чтобы остановить демон, должна быть предусмотрена какая-то команда для терминала, или запуск какого-то второго скрипта daemon_stop.sh
7. Демон должен продолжать работу даже после закрытия терминала. А после открытия чтобы можно было продолжать наблюдать работу демона. Насколько я понимаю это делается через screen и ему подобные. Т.е. когда мы снова заходим на daemon.sh, то не запускаем его снова, а просто вновь видим его продолжающуюся работу.
8. Нужно придумать какой-то вывод в консоль, чтобы наблюдать за работой скрипта. Например такие показатели:
- количество запущенных потоков
- количество запусков скрипта script1.php по всем потокам за все время работы демона (должно накапливаться в какой-то переменной)
- в т.ч. количество положительных ответов по всем потокам за все время работы демона (должно накапливаться в какой-то переменной)
- в т.ч. количество аварийных завершений по всем потокам за все время работы демона (должно накапливаться в какой-то переменной)
Все 8 пунктов обязательны.
Очень желательно, чтобы демон был написан на bash. Или обоснуйте другие варианты.
Скрипты php будут находится в той же папке, что и daemon.sh. В скрипте должно быть предусмотрено автоопределение текущей папки и php-интерпретатора.
По срокам - чем быстрее, тем лучше.
Відгук замовника про співпрацю з Алексеєм Т.
Написать многопоточный демон на bashБыстро, четко, рекомендую
![]()
Відгук фрилансера про співпрацю з замовником
Написать многопоточный демон на bashЧеткое ТЗ, быстрая проверка и оплата, рекомендую к сотрудничеству! 🙂
-
Переможець1 день900 UAH
3381 213 0 Переможець1 день900 UAHМожно написать на .Net core, более читабельный код будет
Актуальні фриланс-проєкти в категорії Веб-програмування
Вивести пости з Інсти на сайт (опенкарт)
700 UAH
Вітаю. Треба налаштувати функціонал щоб на сайті (Опенкарт) показувався блок з постами Інстаграм. Відгукнітся хто робив та знає як ) Дякую ) По вартості домовимося, не знаю скільки це коштує. HTML та CSS верстання, Веб-програмування ∙ 56 хвилин тому ∙ 19 ставок |
Розробка сайту для інтернет-магазину.Цікавить розробка сайту для інтернет-магазину. Потрібна система: інтернет-магазин (до 2000 товарів, на початках менше), 10–20 SEO-орієнтованих лендінгів, інтеграції з 1С та ШІ-сервісами. CMS, Веб-програмування ∙ 57 хвилин тому ∙ 34 ставки |
Оновлення односторінкового сайту надання будівельних послуг
1000 UAH
Оновлення діючого односторінкового самописного сайту надання будівельних послуг Завдання: -Редизайн сайту -Додавання категорій послуг шляхом створення мультилендінгу на 6 категорій -Додавання до кожної категорії фото та опису робіт -Оптимізація реклами сайту Розгляну… Веб-програмування ∙ 15 годин 35 хвилин тому ∙ 72 ставки |
Допрацювання Front-end e-com сайта на OpencardПотрібно допрацювати front-end e-commerce сайту на OpenCart. Основні задачі: виправити візуальні баги, адаптивність під мобільні пристрої, покращити відображення карток товарів, категорій, кошика та сторінки оформлення замовлення. Очікується акуратна верстка, збереження… CMS, Веб-програмування ∙ 17 годин 24 хвилини тому ∙ 47 ставок |
Розробка форми збору лідів перед завантаженням програми (MODX)Сайт:bricscad-ukraine.com.uaCMS: MODXМета: Створити механізм збору лідів перед завантаженням програмного забезпечення для 3-х версій Windows, MacOS, Linux з сайту для подальшої обробки відділом продажів. Веб-програмування ∙ 20 годин 53 хвилини тому ∙ 31 ставка |