Resonate

— an implementation

Resonate brings

reliability and scalability

to the language you love

Currently available in

Local Function Invocation

# Run bar() here
@resonate.register
def foo(ctx):
    promise = yield ctx.lfi(bar)
    result = yield promise
    return result

Remote Function Invocation

# Run bar() over there
@resonate.register
def foo(ctx):
    promise = yield ctx.rfi("bar").options(
        send_to=poll("service-bar")
    )
    result = yield promise
    return result

Detached Function Invocation

# Run bar() detached
@resonate.register
def foo(ctx):
    yield ctx.detached("bar").options(
        send_to=poll("service-bar")
    )
    return

Run here

Run over there

Sequential code

Concurrent, distributed, and durable executions

Resonate is dead simple, formally verified, and deterministically tested

— the way all software should be.