Tengo un script inicial para iniciar una aplicación de nodejs personalizada. La aplicación depende de couchdb y elasticsearch. couchdb y elasticsearch proporcionan scripts init.d para iniciarlos / detenerlos. ¿Es posible decirle a mi script de inicio que couchdb y elasticsearch son dependencias? Intenté esto en mi script de inicio, pero parece que no funciona:
iniciar en (inició couchdb y comenzó elasticsearch)
¡Gracias!
Respuestas:
Lo único que sé que funcionaría es crear (o buscar e instalar) secuencias de comandos de inicio para elasticsearch y couchdb para que pueda usar la opción "iniciar".
fuente
Tenía la misma pregunta y también encontré una respuesta diferente . El autor enumera 4 opciones para lograr esto, de las cuales me gusta la primera mejor:
Utilícelo
initclt emit myservice-started
para indicar la finalización del inicio de su servicio dependiente. En la respuesta vinculada, se sugiere agregar esta línea al final delinit.d
script del servicio de dependencia , pero prefiero un método diferente. Me gusta crear un nuevoinid.d
script llamadomyservice-started
que solo contiene unastart
sección. Utilizando el estilo de comentario apropiado en el encabezado del archivo, declaro que depende de$myservice
que se inicie. En lastart
sección, le cuento al advenedizo acerca demyservice
haber comenzado. Puedes instalarlo conupdate-rc.d
.Me gusta esta solución porque no es intrusiva; Si una actualización cambia cualquiera de los
init.d
scripts existentes , no afectará estos scripts adicionales. Pero recuerde que se requieren cambios en sus secuencias de comandos iniciales .Podría verse así:
Su secuencia de comandos inicial que espera myservice puede escuchar el
myservice-started
evento:fuente