Skip to content

Latest commit

 

History

History
59 lines (43 loc) · 2.52 KB

README.md

File metadata and controls

59 lines (43 loc) · 2.52 KB

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: