зеркало из https://github.com/mozilla/treeherder.git
deb1fc86b7
Since: * Redis has additional features we need (eg for bug 1409679) * the Redis server, python client and Django backend are more actively maintained (so have persistent connections/pooling that actually works, which gives a big perf win) * we can use Heroku's own Redis addon rather than relying on a third-party's (to hopefully prevent a repeat of the certificate expiration downtime) This commit: * Switches pylibmc/django-pylibmc to redis-py/django-redis, and configures the new backend according to: http://niwinz.github.io/django-redis/latest/ https://github.com/andymccurdy/redis-py * Uses redis-py's native support for TLS to connect to the Heroku Redis server's stunnel port directly, avoiding the complexity of using a buildpack to create an stunnel between the dyno and server: https://devcenter.heroku.com/articles/securing-heroku-redis#connecting-directly-to-stunnel * Uses explicit `REDIS_URL` values on Travis/Vagrant rather than relying on the django-environ `default` value (for parity with how we configure `DATABASE_URL` and others). * Removes the pylibmc connection-closing workaround from `wsgi.py`. Note: Whilst the Heroku docs suggest using `django-redis-cache`, it's not as actively maintained, so we're using `django-redis` instead: https://devcenter.heroku.com/articles/heroku-redis https://github.com/niwinz/django-redis https://github.com/sebleier/django-redis-cache Before this is merged, Heroku Redis instances will need to be created for stage/production (prototype done) - likely on plan `premium-3`: https://elements.heroku.com/addons/heroku-redis We'll also need to pick an eviction policy: https://devcenter.heroku.com/articles/heroku-redis#maxmemory-policy Once deployed, the `memcachier-tls-buildpack` buildpack will no longer be required and can be removed from prototype/stage/prod, along with the `TREEHERDER_MEMCACHED` environment variable and Memcachier addon. |
||
---|---|---|
.. | ||
post_compile | ||
pre_deploy | ||
run_celery_worker | ||
run_celery_worker_buildapi | ||
run_celery_worker_hp | ||
run_celery_worker_log_parser | ||
run_celery_worker_pushlog | ||
run_celerybeat | ||
run_gunicorn | ||
run_read_pulse_jobs | ||
run_read_pulse_pushes | ||
travis-setup.sh |