This PR updates the experimental @dispatch.coroutine registration method. It now accepts (and requires) async functions. Two types of awaitables are supported, poll and exit, which match the underlying directives accepted by the orchestrator.
At this time, users must manually decorate any nested async functions they wish to call / await on in order to make them serializable. If an async function hasn't been decorated with @dispatch.coroutine or @dispatch.experimental.durable then a pickle error will occur if/when a coroutine yields.
This PR updates the experimental
@dispatch.coroutine
registration method. It now accepts (and requires) async functions. Two types of awaitables are supported,poll
andexit
, which match the underlying directives accepted by the orchestrator.At this time, users must manually decorate any nested async functions they wish to call / await on in order to make them serializable. If an async function hasn't been decorated with
@dispatch.coroutine
or@dispatch.experimental.durable
then a pickle error will occur if/when a coroutine yields.