From 2cbb29ead21c2bf0c553e811d6673c1fc3a19bcf Mon Sep 17 00:00:00 2001 From: Anthony Lin Date: Thu, 4 Jan 2018 17:06:55 +0000 Subject: [PATCH] Enable Multi-Threads in DeckHand We are seeing race conditions happening when both drydock and armada try to retrieve rendered document from deckhand. This p.s. is meant to prevent 'connection refused' kind of errors from occuring in such situation. Change-Id: I9ceca37a1d214fd1a4fe4719db829625289b8d95 --- entrypoint.sh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index d1faf884..3363fac1 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -14,12 +14,22 @@ # See the License for the specific language governing permissions and # limitations under the License. +set -ex + +# Define port +PORT=${PORT:-9000} +# Number of uWSGI workers to handle API requests +DECKHAND_API_WORKERS=${DECKHAND_API_WORKERS:-"1"} +# Threads per worker +DECKHAND_API_THREADS=${DECKHAND_API_THREADS:-"4"} # Start deckhand application exec uwsgi \ - --http :9000 \ + --http :${PORT} \ -w deckhand.cmd \ --callable deckhand_callable \ --enable-threads \ -L \ - --pyargv "--config-file /etc/deckhand/deckhand.conf" + --pyargv "--config-file /etc/deckhand/deckhand.conf" \ + --threads $DECKHAND_API_THREADS \ + --workers $DECKHAND_API_WORKERS