> ## Documentation Index
> Fetch the complete documentation index at: https://help.pixwel.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Services

# Pixwel Services

The following services are installed across all environments, and are responsible for background dispatch and delivery of event notifications over various channels.

These workers use [Amazon SQS](https://aws.amazon.com/sqs/) to ensure that messages are delivered and processed atomically. In development and demo environments, [ElasticMQ](https://github.com/adamw/elasticmq) is used to provide an SQS-compatible API so that the same pattern can be used across all environments.

| Name                          | Config                                 | Description                                                                                                                                        |
| ----------------------------- | -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pixwel-worker-notifications` | `ecs-worker-notifications.service.yml` | Runs `worker-sqs --queue=$sqs_queue_notifications`. Dispatches Notifications from Events, and pushes real-time messages to a [Faye](/faye) server. |
| `pixwel-worker-emails`        | `ecs-worker-emails.service.yml`        | Runs `worker-sqs --queue=$sqs_queue_emails`. Pushes email messages to the EmailJobs digest spool.                                                  |
| `pixwel-worker-send-emails`   | `ecs-worker-send-emails.service.yml`   | Runs `send-emails`. Flushes any pending email digests and sends them over SMTP.                                                                    |

Ingest is handled by [slurpee](/slurpee) — and the newer serverless [slurpee3](/slurpee3). See those pages for how ingest is deployed.

There are also cron jobs which run certain li3 commands (e.g. checking embargos and KPIs).

## Infrastructure

These workers run as their own **AWS ECS (Fargate)** services — one per `ecs-worker-*.service.yml`, deployed with `fargate-deploy.sh`. They sit apart from the web/API services and out of the load balancer pool: they only churn through notifications, emails, KPI gathering, and embargo checks, and don't serve the user interface. That insulates users from high volumes of notifications.

***

[Back to docs index](/) | [Next page in recommended reading order >>](/search)
