SDAP-65 ningesterpy output not printing in docker logs (#8)
authorfgreg <fgreguska+github@gmail.com>
Thu, 26 Apr 2018 21:34:32 +0000 (14:34 -0700)
committerGitHub <noreply@github.com>
Thu, 26 Apr 2018 21:34:32 +0000 (14:34 -0700)
* Add -u flag to python command for unbuffered stdout.

* Added wait for ningesterpy to start. Used -e and single quotes for sed.

* Made stdout not buffer with `stdbuf -o`

docker/entrypoint.sh

index 250efc0..ae80a4c 100755 (executable)
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-set -e
+set -eb
 
 NINGESTER_JAR=`find ningester/build/libs -name ningester*.jar`
 CONFIG_FILES=`find /config -name "*.yml" | awk -vORS=, '{ print $1 }'`
 GRANULE=`find /data -type f -print -quit`
 
-python -m sdap.ningesterpy 2>&1 | sed "s/^/[ningesterpy] /" &
+echo "Launching ningesterpy. Logs from this process will be prefixed with [ningesterpy]"
+python -u -m sdap.ningesterpy 2>&1 | stdbuf -o0 sed -e 's/^/[ningesterpy] /' &
+
+until $(curl --output /dev/null --silent --head --fail http://127.0.0.1:5000/healthcheck); do
+    sleep 1
+done
+
+echo "Launching ningester. Logs from this process will be prefixed with [ningester]"
+java -Dspring.profiles.active=$1 -Dspring.config.location=classpath:/application.yml,${CONFIG_FILES} -jar ${NINGESTER_JAR} granule=file://${GRANULE} ${@:2} 2>&1 | sed -e 's/^/[ningester] /'
 
-java -Dspring.profiles.active=$1 -Dspring.config.location=classpath:/application.yml,${CONFIG_FILES} -jar ${NINGESTER_JAR} granule=file://${GRANULE} ${@:2} | sed "s/^/[ningester] /"
\ No newline at end of file