plinth/cloudflare/workflow
Types
pub type Backoff {
Constant
Linear
Exponential
}
Constructors
-
Constant
-
Linear
-
Exponential
pub type CreateOptions {
CreateOptions(id: option.Option(String), params: json.Json)
}
Constructors
-
CreateOptions(id: option.Option(String), params: json.Json)
pub type Duration {
Milliseconds(Int)
Seconds(Int)
Minutes(Int)
Hours(Int)
Days(Int)
Weeks(Int)
Months(Int)
Years(Int)
}
Constructors
-
Milliseconds(Int)
-
Seconds(Int)
-
Minutes(Int)
-
Hours(Int)
-
Days(Int)
-
Weeks(Int)
-
Months(Int)
-
Years(Int)
pub type Entrypoint
pub type InitialEvent(t) {
InitialEvent(
payload: t,
timestamp: String,
instance_id: String,
)
}
Constructors
-
InitialEvent(payload: t, timestamp: String, instance_id: String)
pub type InstanceStatus {
InstanceStatus(
status: String,
error: option.Option(String),
output: dynamic.Dynamic,
)
}
Constructors
-
InstanceStatus( status: String, error: option.Option(String), output: dynamic.Dynamic, )
pub type SentEvent(t) {
SentEvent(type_: String, payload: t, timestamp: String)
}
Constructors
-
SentEvent(type_: String, payload: t, timestamp: String)
pub type StepConfig {
StepConfig(
retries: option.Option(Retries),
timeout: option.Option(Duration),
)
}
Constructors
-
StepConfig( retries: option.Option(Retries), timeout: option.Option(Duration), )
Values
pub fn create(
workflow: Workflow,
options: CreateOptions,
) -> promise.Promise(Instance)
pub fn create_batch(
workflow: Workflow,
options: List(CreateOptions),
) -> promise.Promise(array.Array(Instance))
pub fn default() -> StepConfig
pub fn do(
step: Step,
name: String,
config: StepConfig,
callback: fn() -> promise.Promise(json.Json),
) -> promise.Promise(dynamic.Dynamic)
pub fn get(
workflow: Workflow,
id: String,
) -> promise.Promise(Result(Instance, String))
pub fn initial_event_decoder(
payload_decoder: decode.Decoder(a),
) -> decode.Decoder(InitialEvent(a))
pub fn pause(instance: Instance) -> promise.Promise(Nil)
pub fn restart(instance: Instance) -> promise.Promise(Nil)
pub fn resume(instance: Instance) -> promise.Promise(Nil)
pub fn send_event(
instance: Instance,
type_: String,
payload: json.Json,
) -> promise.Promise(Nil)
pub fn sent_event_decoder(
payload_decoder: decode.Decoder(a),
) -> decode.Decoder(SentEvent(a))
pub fn sleep(
step: Step,
name: String,
duration: Duration,
) -> promise.Promise(Nil)
pub fn sleep_until(
step: Step,
name: String,
until: Int,
) -> promise.Promise(Nil)
pub fn status(
instance: Instance,
) -> promise.Promise(InstanceStatus)
pub fn terminate(instance: Instance) -> promise.Promise(Nil)
pub fn wait_for_event(
step: Step,
name: String,
type_: String,
timeout: option.Option(Duration),
) -> promise.Promise(Result(dynamic.Dynamic, String))
returns an error if it timed out