Skip to content

Add retry to in-memory storage system #156

@jbeemster

Description

@jbeemster

All events are currently only loaded into an in memory buffer. Failed events are returned via a callback mechanism. So it is up to the developer to ensure they resend any failed events.

It would be better to simply push all events into persistent storage for later sending like so:

  • tracker.track(...) -> event stored and then a polling emitter checks for events every second.

We can be a bit slower to send but we have to ensure we do not lose the event that is created.

This model also allows for the following features:

  • Do not send if their is no active network connection
  • No need to pass events back from the callback mechanism
  • Developer does not need to manage failures anymore
  • No more constant failure loops if their is a network failure

Metadata

Metadata

Assignees

No one assigned

    Labels

    category:breaking_changeA breaking change will be introduced if this issue is completed.priority:mediumOn the roadmap.status:completedCompleted - but might not be released yet.type:enhancementNew features or improvements to existing features.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions