From 2c17ec36f438d330d45c13aa6d2d1d10987f2c65 Mon Sep 17 00:00:00 2001
From: Feanil Patel <feanil@edx.org>
Date: Mon, 30 Mar 2015 09:41:37 -0400
Subject: [PATCH] Change default gunicorn worker class.

Since the ecommerce app makes a lot of API calls, async workers are better
suited for this work.
---
 playbooks/roles/ecommerce/defaults/main.yml                                    | 2 ++
 playbooks/roles/ecommerce/templates/edx/app/ecommerce/ecommerce_gunicorn.py.j2 | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/playbooks/roles/ecommerce/defaults/main.yml b/playbooks/roles/ecommerce/defaults/main.yml
index d9deb08..d37ae20 100644
--- a/playbooks/roles/ecommerce/defaults/main.yml
+++ b/playbooks/roles/ecommerce/defaults/main.yml
@@ -56,6 +56,7 @@ ECOMMERCE_CYBERSOURCE_PROFILE_ID: 'SET-ME-PLEASE'
 ECOMMERCE_CYBERSOURCE_ACCESS_KEY: 'SET-ME-PLEASE'
 ECOMMERCE_CYBERSOURCE_SECRET_KEY: 'SET-ME-PLEASE'
 
+
 ECOMMERCE_SERVICE_CONFIG:
   SECRET_KEY: '{{ ECOMMERCE_SECRET_KEY }}'
   TIME_ZONE: '{{ ECOMMERCE_TIME_ZONE }}'
@@ -115,6 +116,7 @@ ECOMMERCE_REPOS:
 ECOMMERCE_GUNICORN_WORKERS: "2"
 ECOMMERCE_GUNICORN_EXTRA: ""
 ECOMMERCE_GUNICORN_EXTRA_CONF: ""
+ECOMMERCE_GUNICORN_WORKER_CLASS: "gevent"
 
 #
 # vars are namespace with the module name.
diff --git a/playbooks/roles/ecommerce/templates/edx/app/ecommerce/ecommerce_gunicorn.py.j2 b/playbooks/roles/ecommerce/templates/edx/app/ecommerce/ecommerce_gunicorn.py.j2
index 5db283e..d02b18d 100644
--- a/playbooks/roles/ecommerce/templates/edx/app/ecommerce/ecommerce_gunicorn.py.j2
+++ b/playbooks/roles/ecommerce/templates/edx/app/ecommerce/ecommerce_gunicorn.py.j2
@@ -6,6 +6,7 @@ gunicorn configuration file: http://docs.gunicorn.org/en/develop/configure.html
 timeout = {{ ecommerce_gunicorn_timeout }}
 bind = "{{ ecommerce_gunicorn_host }}:{{ ecommerce_gunicorn_port }}"
 pythonpath = "{{ ecommerce_code_dir }}"
-workers = {{ ECOMMERCE_GUNICORN_WORKERS }}
+workers = {{ ECOMMERCE_GUNICORN_WORKERS }}"
+worker_class = "{{ ECOMMERCE_GUNICORN_WORKER_CLASS }}"
 
 {{ ECOMMERCE_GUNICORN_EXTRA_CONF }}
--
libgit2 0.26.0