mathgladiator / adama-lang

A headless spreadsheet document container service.
https://www.adama-platform.com/
GNU Affero General Public License v3.0
107 stars 15 forks source link

Think really hard about state machines that make progress on their own without viewers #92

Closed mathgladiator closed 2 years ago

mathgladiator commented 2 years ago

The DataService had a concept of active items which could be recovered on a process crash. This was neat precisely because life would exist on its own within the data center, but does that matter if there are no viewers. This nukes the "cron like ability" of Adama, but given how I'm thinking about the distributed system aspect it was poorly thought out. Instead, I'll most likely need another service to monitor the adama services to ensure they are running all active documents with a faux connection.

mathgladiator commented 2 years ago

As I think about this in relationship to building a data-store, this could be an reconstructed with a local log where I persist which entities to start doing. The problem with this is that it really is useless until something else comes along, BUT having this local to the Adama host makes for an interesting thing as it also addresses to do notifications.

mathgladiator commented 2 years ago

The solution to this is going to be part of the new data service where Adama owns data on disk, and then persists a checkpointed active map of documents to keep loaded.

mathgladiator commented 2 years ago

This is in constant tension with availability

mathgladiator commented 2 years ago

the action item here is when Adama wakes up, it scans for documents bound on the host and then loads them and lets the loading take care of things. This will come soonish.