8.1. Web site components¶
A front-end web server such as Apache runs on your server and talks to the world. It serves static files and may run other web sites, but it routes a subset of its traffic to an internal TCP/IP port, where it finds CRATE.
CRATE runs and serves content to an internal TCP/IP port.
A separate CRATE subsystem handles back-end tasks, like sending e-mails and processing consent requests (which can be a bit slow).
This uses the Celery task queue system. Celery itself is a Python program that talks to a message queue, and can put messages into this queue (CRATE calls Celery) 2, or retrieve them from the queue (Celery calls CRATE) 3 to get jobs done.
Some sort of operating system supervisor typically controls the various aspects of CRATE. Under Windows, CRATE provides a Windows service (see CRATE Windows service). Under Linux, supervisor is typically used.