Написать многопоточный демон на 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, более читабельный код будет
Актуальные фриланс-проекты в категории Веб-программирование
Внесение правок на сайт (WP, Elementor)Добрый день. Нужно внести 2 правки на сайт: 1. Мейн меню "пляше" при наведении курсора, плюс на укр версии оно центрировано по вертикали (так и должно быть), а в ру - без центровки, сверху. Нужно отцентрировать ру как в укр 2. На главной странице есть блок "наши продукты", там… Веб-программирование ∙ 1 час 7 минут назад ∙ 28 ставок |
Необхідно модернизувати для зручності адмінку в Open CartТехническое задание по настройке/доработке OpenCart 1. Каталог → Товары Задача 1. Добавить колонку «Категория» в список товаров Задача 2. Добавить колонку «Артикул» в список товаров Задача 3. Добавить колонку «Дата и время создания товара» Задача 4. Быстрое редактирование… Веб-программирование ∙ 1 час 24 минуты назад ∙ 29 ставок |
Доработка каталога для сайтаДля сайта каталога нужно сделать доработки: (работу можно разбить на єтапи чи взяти по кваліфікаціі частину) 1. в админке возможность заливать SQL файлы для обновления цен (в архиве он price_balluff_2026_for_site.sql). (сейчас они залиты программистом, нужно на будущее, что б… AI обработка текстов, Веб-программирование ∙ 1 час 32 минуты назад ∙ 17 ставок |
WhatsApp Business API / Meta Cloud API.Здравствуйте. Мне нужна помощь по официальному подключению WhatsApp Business API / Meta Cloud API. Ситуация такая: У меня уже есть рабочий WhatsApp Business номер. Он сейчас используется на телефоне в приложении WhatsApp Business. Удалять приложение, переносить номер только в… Веб-программирование ∙ 2 часа 15 минут назад ∙ 13 ставок |
Учетные записи ShopifyИщу человека для настройки существующего магазина детской мебели, магазин еще не работал, но частично заполнен Веб-программирование ∙ 2 часа 29 минут назад ∙ 15 ставок |