If you are using SENTRY ON-PREMISE, this can happen if worker processes are not running or your queue are not backed up. The official docs says:
Sentry comes with a built-in queue to process tasks in a more
asynchronous fashion. For example when an event comes in instead of
writing it to the database immediately, it sends a job to the queue so
that the request can be returned right away, and the background
workers handle actually saving that data.
And note, its rely on the Celery library for managing workers. So running a worker from CLI might solve this issue :
$ sentry celery worker
Running this as a service is recommended, example configuration with supervisor:
[program:sentry-worker]
directory=/www/sentry/
command=/www/sentry/bin/sentry celery worker -l WARNING
autostart=true
autorestart=true
redirect_stderr=true
killasgroup=true
Sentry supports two primary brokers which may be adjusted depending on your workload:
RabbitMQ and `Redis`
.
Redis
The default broker is Redis, and will work under most situations. The primary limitation to using Redis is that all pending work must fit in memory.
BROKER_URL = "redis://localhost:6379/0"
If your Redis connection requires a password for authentication, you need to use the following format:
BROKER_URL = "redis://:password@localhost:6379/0"
RabbitMQ
If you run with a high workload, or have concerns about fitting the pending workload in memory, then RabbitMQ is an ideal candidate for backing Sentry’s workers.
BROKER_URL = "amqp://guest:guest@localhost:5672/sentry"