Free forever, no credit card.Get Started for Free →
← All posts
November 12, 2026 · 5 min read

Does Amazon SNS Remember Between Runs? A Topic Delivers the Message and Forgets It. The Next Run Still Starts With Only Its Message.

Does Amazon SNS Remember Between Runs? A Topic Delivers the Message and Forgets It. The Next Run Still Starts With Only Its Message. Amazon SNS remembers almost nothing between runs, and that is by design. A standard topic receives a published message, pushes a copy to every current subscription, and then drops it. There is no queue inside the topic, no log to read later, and no record of what any subscriber did with the message it received. A FIFO topic adds one real exception, an optional arc

Does Amazon SNS Remember Between Runs? A Topic Delivers the Message and Forgets It. The Next Run Still Starts With Only Its Message.

Amazon SNS remembers almost nothing between runs, and that is by design. A standard topic receives a published message, pushes a copy to every current subscription, and then drops it. There is no queue inside the topic, no log to read later, and no record of what any subscriber did with the message it received. A FIFO topic adds one real exception, an optional archive that can hold messages for up to 365 days and replay them, but even an archived message is only the original payload. What a run checked, concluded, and finished after receiving that payload was never stored by SNS, so the next run starts with a message, and nothing else.

A standard topic delivers and discards

The default behavior is the whole story for standard topics. A publisher sends one message to a topic. SNS matches that message against the topic's subscriptions, applies any filter policy on each subscription, and pushes a copy to every matching endpoint: an SQS queue, a Lambda function, an HTTP endpoint, an email address, or a phone number. Once delivery is done, SNS keeps no copy of the message in the topic.

If nothing is subscribed at the moment of publishing, the message is delivered to nobody and then it is gone, and the publish call still returns success. If a subscriber is unavailable, SNS retries delivery under the delivery policy for that protocol. When the retries run out, the message is discarded unless that subscription has a dead-letter queue configured. A dead-letter queue in SNS is an ordinary SQS queue attached to a single subscription, and it has to be set up explicitly, with a queue policy that allows SNS to send to it. Without that setup, a failed delivery leaves no trace in SNS at all.

This push model is what makes SNS useful for fan-out. One event can reach many independent subscribers at once, and no subscriber has to poll or wait. The trade is that delivery is the end of SNS's responsibility. The service tracks whether a copy reached an endpoint. It does not track whether the work behind that endpoint understood the message, acted on it, or completed it.

The FIFO archive is storage for payloads, not for work

FIFO topics change part of that picture. FIFO topics preserve ordering within a message group and deduplicate messages inside the deduplication window, and they are durable across Availability Zones. Topic owners can also turn on message archiving and replay for a FIFO topic. With archiving enabled, SNS stores published messages inside the topic archive for a retention period the owner sets, up to 365 days. A subscriber can then start a replay from a chosen timestamp and receive those archived messages again.

That archive is genuinely useful for recovery. A subscriber that was down, or a new subscriber that needs to rebuild state, can replay the messages it missed instead of treating them as lost. Server-side delivery failures on FIFO topics are also retried far more aggressively than most operators expect, up to 100,015 times over 23 days, before a message is sidelined to a subscription dead-letter queue.

None of that turns the archive into run memory. The archive holds the messages exactly as they were published: the same payload, the same attributes, nothing added by any run that processed them. A replay hands a subscriber the original event again. It does not say which run already handled that event, what that run found, whether the resulting action succeeded, or why a similar event last week turned out to be harmless. Replaying inputs is not the same as remembering outcomes, and an agent that receives a replayed message still has to reconstruct the history of its own work from somewhere else.

What a scheduled agent actually needs at the start of a run

Consider an automation that wakes up on a schedule, receives events through SNS topics, and acts on them. On each run it needs more than the next delivered message. It needs to know which alerts were already handled, so a redelivered message, which at-least-once delivery can legitimately produce more than once, does not trigger the same action a second time. It needs the conclusions from earlier runs, so an event pattern that was investigated and explained yesterday is not investigated again today. It needs the reasoning behind those conclusions, so it can tell a settled question from a new one that merely looks similar. And it needs that record to be shared, so a second agent working in a different tool on related events reads the same past instead of a private fragment.

SNS supplies none of that, because none of it is a message in transit. It is memory, and it belongs in a layer built to hold memory.

That layer is what Vilix AI provides. Vilix AI is cloud-hosted, with zero infrastructure to run: no extra queue to provision and no memory store to operate beside the existing setup. The same memory is available everywhere over MCP, so the automation doing the work, the chat tool used to review the outcome, and every other connected agent read and write one shared memory. Vilix AI stores full conversation history, not just extracted facts, so a later run can revisit what was actually discussed and decided, in context, instead of working from a single delivered payload or a compressed note.

The practical split is simple. Let SNS do the job it is built for: fanning one publish out to every matching subscription, retrying delivery, archiving FIFO messages when that feature is on, and sidelining failed deliveries to a dead-letter queue when one is configured. At the end of each run, write the outcome into memory: what arrived, what was checked, what was decided, and what still needs attention. At the start of the next run, read that memory before acting on new messages. A duplicate delivery then meets an agent that can check the record first, recognize finished work, and spend the run only on what is genuinely new.

There is no cost to testing that split. Vilix AI has a free plan that stays free forever, and Pro comes with a 7-day trial that needs no credit card. The memory stays portable throughout: export everything or delete it anytime. SNS will deliver the message and, on a FIFO topic, keep a replayable copy of it. The memory makes sure the next run arrives knowing everything the earlier runs learned.

Get Started for Free

Persistent memory across ChatGPT, Claude, and the AI tools you already use in Vilix AI.

Get Started for Free

Free forever, no credit card.

Keep reading
Does Google Cloud Tasks Remember Between Runs? A Task Lives for Up to 31 Days. The Next Run Still Starts With Only Its Payload.

Does Google Cloud Tasks Remember Between Runs? A Task Lives for Up to 31 Days. The Next Run Still Starts With Only Its Payload. Google Cloud Tasks remembers the task, exactly as it was created, until the task is done or too old. A task sits in its queue with its payload, its target, and its schedule, and it stays there through retries until it succeeds, exhausts its attempts, or reaches 31 days of age. That is dependable delivery memory. What Cloud Tasks never keeps is anything the handler lear

Does Azure Event Hubs Remember Between Runs? Events Stay in the Partitioned Log for Up to 90 Days. The Next Run Still Starts With Only Its Event.

Does Azure Event Hubs Remember Between Runs? Events Stay in the Partitioned Log for Up to 90 Days. The Next Run Still Starts With Only Its Event. Azure Event Hubs remembers the event, in full, in the log. An event hub is an append-only log that stores events, producers add new events to the end of a partition, and those events stay there for the whole retention period whether anyone read them or not. That is real retention, and it is stronger than a queue that deletes on delivery. What Event Hu

Does Apache RocketMQ Remember Between Runs? Messages Stay in the CommitLog for Days. The Next Run Still Starts With Only Its Message.

Does Apache RocketMQ Remember Between Runs? Messages Stay in the CommitLog for Days. The Next Run Still Starts With Only Its Message. Apache RocketMQ remembers the message, in full, on disk. A broker writes every message it receives into a shared physical log, keeps it for the whole storage duration whether anyone consumed it or not, and lets a consumer go back and read it again inside that window. That is real retention, and it is stronger than a queue that deletes on delivery. What RocketMQ n