Skip to content

Release 0.6.0 - Entity Lifetimes

Compare
Choose a tag to compare
@xsedla1o xsedla1o released this 26 Oct 10:13
· 206 commits to master since this release

This release adds two new mechanisms to handle entity lifetimes, i.e. ways to scope when entities will be deleted:

  • TTL tokens (entities with specified lifetime timers)
  • Reference counting (weak entities)

Both of these are implemented a new core module called GarbageCollector. There is also a third lifetime, immortal, which means the platform will not delete the entity by itself, just like it was before. This is the default for backwards compatibility reasons.

A new endpoint has been added to the API, which enables sending TTL tokens to specified entities and extending their lifetime.

Delete API
There are also additions to the API to delete selected entities to both the secondary modules and the external API. The delete action will remove the master record and all snapshots.

Filter Empty Snapshots
An additional option was added to SnapShooter, whether to keep_empty entity records as snapshots, or to filter them out in processing.

Docs

Other changes:

  • BUGFIX - SnapShooter running hooks on multiple linked entities no longer runs only on one entity per entity type.
  • An additional reconnect attempt added to TaskQueueReader.
  • Snapshots returned from /{etype} endpoint will be sorted by the entity ID.
  • A few minor changes in logging messages, severity, and length.
  • Deployments using gunicorn will now also include access logs.