mirror of
https://github.com/wagtail/wagtail.git
synced 2024-11-28 08:48:04 +01:00
Add Celery documentation (and additional advice on Redis) to the Performance howto, since it isn't going to be a default part of the project template / VM
This commit is contained in:
parent
07455a8469
commit
bb23a49589
@ -13,7 +13,7 @@ We have tried to minimise external dependencies for a working installation of Wa
|
||||
Cache
|
||||
-----
|
||||
|
||||
We recommend `Redis <http://redis.io/>`_ as a fast, persistent cache. Install Redis through package manager and enable it as a cache backend::
|
||||
We recommend `Redis <http://redis.io/>`_ as a fast, persistent cache. Install Redis through your package manager (on Debian or Ubuntu: ``sudo apt-get install redis-server``), add ``django-redis-cache`` to your requirements.txt, and enable it as a cache backend::
|
||||
|
||||
CACHES = {
|
||||
'default': {
|
||||
@ -25,7 +25,22 @@ We recommend `Redis <http://redis.io/>`_ as a fast, persistent cache. Install Re
|
||||
}
|
||||
}
|
||||
|
||||
Without a persistent cache, Wagtail will recreate all compressable assets at each server start, e.g. when any files change under ```./manage.py runserver```.
|
||||
Without a persistent cache, Wagtail will recreate all compressable assets at each server start, e.g. when any files change under ``./manage.py runserver``.
|
||||
|
||||
|
||||
Sending emails in the background using Celery
|
||||
---------------------------------------------
|
||||
|
||||
Various actions in the Wagtail admin backend can trigger notification emails - for example, submitting a page for moderation. In Wagtail's default configuration, these are sent as part of the page request/response cycle, which means that web server threads can get tied up for long periods if a large number of emails is being sent. To avoid this, Wagtail can be configured to do this as a background task, using `Celery <http://www.celeryproject.org/>`_ as a task queue. To install Celery, add ``django-celery`` to your requirements.txt. A sample configuration, using Redis as the queue backend, would look like::
|
||||
|
||||
import djcelery
|
||||
|
||||
djcelery.setup_loader()
|
||||
|
||||
CELERY_SEND_TASK_ERROR_EMAILS = True
|
||||
BROKER_URL = 'redis://'
|
||||
|
||||
See the Celery documentation for instructions on running the worker process in development or production.
|
||||
|
||||
|
||||
Search
|
||||
|
Loading…
Reference in New Issue
Block a user