Skip to content

A vaguely "continuations" style concept, but designed to operate at cloud scale. So we resume a process, somewhere on the cloud.

License

Notifications You must be signed in to change notification settings

mycordaapp/continuations

Repository files navigation

The "Continuations" toolkit

Circle CI Licence Status

What it does

A continuations style concept but designed to operate at cloud scale. So we resume a process, somewhere on the cloud.

While this is written to support Tasks the concept is sufficiently simple and standalone that it can have its own repo.

Rationale

This library solves some basic problems with distributed computing:

  • restarting
    • checkpointing (where was the process last time)
    • workers (where should this be run on restart)
  • retrying
    • what to do if there is an exception?
    • when to retry (scheduling)
    • when to give up (dead letter)
  • health
    • passive monitoring (e.g. probes)
    • built in, active monitoring (e.g. heart beats)
    • when to restart (scheduling)
    • when to give up (dead letter)

Basic Principles

The three core interfaces are Continuation, Continuable and Continuable Worker.

The application logic is implemented as a Continuation. The ability to start and restart is implemented by Continuable. The ability to schedule , check progress and get the result of a Continuation is implemented by the ContinuationWorker interface.

See the docs for details.

Next Steps

todo

Dependencies

As with everything in myCorda dot App, this library has minimal dependencies:

About

A vaguely "continuations" style concept, but designed to operate at cloud scale. So we resume a process, somewhere on the cloud.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages