To debug the logs, first you need to understand the different states a message can be in.
Only the last 10.000 logs are kept and older logs are removed automatically.
Lifecycle of a Message
To understand the lifecycle of each message, we’ll look at the following chart:
Either you or a previously setup schedule will create a message.
When a message is ready for execution, it will be become
ACTIVE and a delivery to
your API is attempted.
If you API responds with a status code between
200 - 299, the task is
considered successful and will be marked as
Otherwise the message is being retried if there are any retries left and moves to
RETRY. If all retries are exhausted, the task has
FAILED and the message will be moved to the DLQ.
During all this a message can be cancelled via DELETE /v2/messages/:messageId. When the request is received,
CANCEL_REQUESTED will be logged first.
If retries are not exhausted yet, in the next deliver time, the message will be marked as
CANCELLED and will be completely removed from the system.
Head over to the Upstash Console and go to
Logs tab, where you can see the latest events.