Существуют такие инструменты, как npm-run-all , которые позволяют постоянным процессам работать параллельно в одном процессе.Я заинтересован в том, чтобы сделать это с redis
и node
сервером.
Однако я ищу способ запустить эти два параллельно, но запускать процесс node
только тогда, когда redis
процесс действительно проверен.
Есть ли какой-нибудь инструмент Unix / Bash, который может достичь того, чего я хочу?
Я вижу, как это работает двумя способами:
Опция1
Инструмент, который проверяет определенный стандартный вывод процесса , например, redis
записывает Ready to accept connections
в стандартный вывод, инструмент будет следить заэто как регулярное выражение.Когда он получит его, событие внутренне сработает, и сервер node
будет запущен.
Опция 2
Инструмент, который проверяет если / когда http-соединение доступно для конкретного сервера и когда оно получает правильный ответ проверки работоспособности, запускается внутреннее событие и запускается последующий сервер node
.Также должен быть задействован тайм-аут.С этим связано то, что он специфичен только для процессов, которые раскручивают серверы и конечные точки на согласованном локальном порту.