---
title: worker-jobs
description: Runs alerts, webhooks, emails and cleanup jobs. Port 4200 serves health only.
---

The only service that runs scheduled jobs.

Reads [PostgreSQL](/self-hosting/configuration#postgresql), [ClickHouse](/self-hosting/configuration#clickhouse), [object storage](/self-hosting/configuration#object-storage), [integrations](/self-hosting/integrations) except Linear, [email](/self-hosting/configuration#email) and [logging](/self-hosting/configuration#logging). It needs no Redis.

| Variable                       | Required | Default       | Description                                                 |
| ------------------------------ | :------: | ------------- | ----------------------------------------------------------- |
| `API_ORIGIN`                   |   yes    |               | Public origin of `api`. Builds webhook URLs for providers.  |
| `APP_DASHBOARD_ORIGIN`         |   yes    |               | Dashboard origin. Builds links in alerts.                   |
| `NODE_ENV`                     |    no    | `development` | Anything but `production` writes skipped emails to the log. |
| `PORT`                         |    no    | `4200`        | Health port.                                                |
| `ALERT_DELIVERY_CONCURRENCY`   |    no    | `5`           | Notifications sent at a time, per instance, up to 50.       |
| `ALERT_EVALUATION_CONCURRENCY` |    no    | `4`           | Rules evaluated at a time, per instance, up to 50.          |
| `ALERT_EVENT_RETENTION_DAYS`   |    no    | `30`          | Retention of fired alert events.                            |
| `WEBHOOK_DELIVERY_CONCURRENCY` |    no    | `5`           | Webhook requests sent at a time, per instance, up to 50.    |

## Jobs

| Queue                  | What it does                                                                          |
| ---------------------- | ------------------------------------------------------------------------------------- |
| `alert-evaluate-tick`  | Every minute, queues an evaluation for each enabled, unmuted rule.                    |
| `alert-evaluate-rule`  | Evaluates one metric or spike rule against ClickHouse.                                |
| `alert-issue-signals`  | Fires issue rules and webhooks for new and regressed error groups.                    |
| `alert-deliver`        | Sends one notification to email, Slack, Discord or Telegram, with retries.            |
| `alert-send-test`      | Sends a rule's test notification.                                                     |
| `alert-cleanup`        | Nightly, drops alert events older than `ALERT_EVENT_RETENTION_DAYS`.                  |
| `webhook-deliver`      | Sends one signed [webhook](/webhooks). Needs `INTEGRATIONS_ENCRYPTION_KEY`.           |
| `webhook-cleanup`      | Nightly, drops webhook deliveries older than 30 days.                                 |
| `project-cleanup`      | Deletes a removed project's source maps and ClickHouse rows.                          |
| `repository-sync`      | Lists a code integration's repositories after it connects.                            |
| `webhook-registration` | On start, registers the integrations' inbound webhooks, such as Telegram's.           |
| `email-send`           | Sends an email through Resend. Without `RESEND_API_KEY` or `EMAIL_FROM`, logs a skip. |
| `audit-maintenance`    | Nightly, records expired API tokens in the audit log.                                 |
