p

zio

flow

package flow

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. flow
  2. OffsetDateTimeModule
  3. InstantModule
  4. Schemas
  5. LowerPrioritySchemas
  6. Syntax
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final case class Activity[-Input, Result](name: String, description: String, operation: Operation[Input, Result], check: ZFlow[Input, ActivityError, Result], compensate: ZFlow[Result, ActivityError, Unit]) extends Product with Serializable

    Activity is a special step for a zio-flow workflow capable of communicating with the external world via an Operation.

    Activity is a special step for a zio-flow workflow capable of communicating with the external world via an Operation.

    When calling an activity from a workflow, a value of type Input must be provided, and the result of successfully executing an activity has the type Result.

    An activity can be reverted when it is being called from a transaction. If the transaction get reverted (due to a failure or a retry) the compensate flow can perform an arbitrary number of steps necessary to cancel whatever the activity has done. If this is not supported, use Activity.compensateNotSupported.

    The check flow can be used to perform steps verifying if the activity still needed to be executed. In case it was restarted by a transaction or because the whole workflow executor got restarted, this feature can be used to make sure the operation was only executed exactly once. If this is not supported, use Activity.checkNotSupported.

  2. case class ActivityError(failure: String, details: Option[Throwable]) extends Product with Serializable

    Failure of running an Activity

  3. type BindingName = flow.BindingName.Base with flow.BindingName.Tag
  4. type ConfigKey = flow.ConfigKey.Base with flow.ConfigKey.Tag
  5. trait Configuration extends AnyRef
  6. final case class ExecutingFlow[+E, +A](id: FlowId, result: PromiseId) extends Product with Serializable
  7. final case class ExecutionEnvironment(serializer: Serializer, deserializer: Deserializer, configuration: Configuration, gcPeriod: java.time.Duration = 5.minutes) extends Product with Serializable
  8. type FlowId = flow.FlowId.Base with flow.FlowId.Tag
  9. implicit final class FlowIdSyntax extends AnyVal
  10. type Instant = java.time.Instant
    Definition Classes
    InstantModule
  11. trait InstantModule extends AnyRef
  12. trait LocalContext extends AnyRef
  13. trait LowerPrioritySchemas extends AnyRef
  14. type OffsetDateTime = java.time.OffsetDateTime
    Definition Classes
    OffsetDateTimeModule
  15. trait OffsetDateTimeModule extends AnyRef
  16. trait Operation[-Input, +Result] extends AnyRef

    Operation describes the way a zio-flow workflow communicates with the outside world.

    Operation describes the way a zio-flow workflow communicates with the outside world.

    An operation always has an input value of type Input, and a result value of type Result. What the operation does with the input value to get the result depends on the actual operation's other properties.

    Both the input and the result types need to have a schema, because the workflow executor may need to encode/decode values when communicating with an external service.

    Currently the only supported operation is the Operation.Http operation.

    Operations are not directly used from the zio-flow programs, but through Activity values.

    When writing tests for workflows the MockedOperation class provides capabilities to mock these operations instead of using the real operation executor.

  17. trait OperationExecutor extends AnyRef

    An OperationExecutor can execute operations, or fail trying.

  18. type PromiseId = flow.PromiseId.Base with flow.PromiseId.Tag
  19. type RecursionId = flow.RecursionId.Base with flow.RecursionId.Tag
  20. implicit final class RecursionIdSyntax extends AnyVal
  21. sealed trait Remote[+A] extends AnyRef

    A Remote[A] is a blueprint for constructing a value of type A on a remote machine.

    A Remote[A] is a blueprint for constructing a value of type A on a remote machine. Remote values can always be serialized, because they are mere blueprints, and they do not contain any Scala code.

  22. trait RemoteContext extends AnyRef
  23. sealed trait RemoteEvaluationError extends AnyRef
  24. type RemoteVariableName = flow.RemoteVariableName.Base with flow.RemoteVariableName.Tag
  25. case class RemoteVariableReference[A](name: RemoteVariableName) extends Product with Serializable

    Represents a reference to a persisted remote variable of type A

    Represents a reference to a persisted remote variable of type A

    Remote variables can not be shared between top level workflows, but they can be accessed from forked workflows. For more information about scoping of remote variables see zio.flow.runtime.internal.RemoteVariableScope

  26. trait Schemas extends LowerPrioritySchemas
  27. trait Syntax extends AnyRef
  28. implicit class ZFlowSyntax[R, E, A] extends AnyRef
    Definition Classes
    Syntax
  29. type TransactionId = flow.TransactionId.Base with flow.TransactionId.Tag
  30. case class VariableUsage(variables: Set[RemoteVariableName], bindings: Set[BindingName]) extends Product with Serializable
  31. sealed trait ZFlow[-R, +E, +A] extends AnyRef

    ZFlow is a serializable executable workflow.

    ZFlow is a serializable executable workflow.

    Values (including functions) used in ZFlows must be Remote values which guarantees that they can be persisted.

    R

    The type of the input that can be provided for the workflow

    E

    The type this workflow can fail with

    A

    The result type this workflow returns with in case it succeeds

  32. trait ZFlowSchedule[Ctx] extends AnyRef

    Represents a schedule for running a workflow in the future

  33. sealed trait ZFlowTransaction extends AnyRef

Value Members

  1. implicit def RemoteBigDecimalCompanion(bigDecimal: BigDecimal.type): RemoteBigDecimalCompanionSyntax
    Definition Classes
    Syntax
  2. implicit def RemoteBoolean(remote: Remote[Boolean]): RemoteBooleanSyntax
    Definition Classes
    Syntax
  3. implicit def RemoteChar(remote: Remote[Char]): RemoteCharSyntax
    Definition Classes
    Syntax
  4. implicit def RemoteChronoUnit(remote: Remote[ChronoUnit]): RemoteChronoUnitSyntax
    Definition Classes
    Syntax
  5. implicit def RemoteChunk[A](remote: Remote[Chunk[A]]): RemoteChunkSyntax[A]
    Definition Classes
    Syntax
  6. implicit def RemoteChunkCompanion(chunk: Chunk.type): RemoteChunkCompanionSyntax
    Definition Classes
    Syntax
  7. implicit def RemoteDuration(remote: Remote[zio.Duration]): RemoteDurationSyntax
    Definition Classes
    Syntax
  8. implicit def RemoteDurationCompanion(duration: Duration.type): RemoteDurationCompanionSyntax
    Definition Classes
    Syntax
  9. implicit def RemoteEither[A, B](remote: Remote[Either[A, B]]): RemoteEitherSyntax[A, B]
    Definition Classes
    Syntax
  10. implicit def RemoteExecutingFlow[E, A](remote: Remote[ExecutingFlow[E, A]]): RemoteExecutingFlowSyntax[E, A]
    Definition Classes
    Syntax
  11. implicit def RemoteFractional[A](remote: Remote[A]): RemoteFractionalSyntax[A]
    Definition Classes
    Syntax
  12. implicit def RemoteInstant(remote: Remote[Instant]): RemoteInstantSyntax
    Definition Classes
    Syntax
  13. implicit def RemoteInstantCompanion(instant: Instant.type): RemoteInstantCompanionSyntax
    Definition Classes
    Syntax
  14. implicit def RemoteList[A](remote: Remote[List[A]]): RemoteListSyntax[A]
    Definition Classes
    Syntax
  15. implicit def RemoteListChar(remote: Remote[List[Char]]): RemoteListCharSyntax
    Definition Classes
    Syntax
  16. implicit def RemoteListCompanion(list: List.type): RemoteListCompanionSyntax
    Definition Classes
    Syntax
  17. implicit def RemoteMap[K, V](remote: Remote[Map[K, V]]): RemoteMapSyntax[K, V]
    Definition Classes
    Syntax
  18. implicit def RemoteNumeric[A](remote: Remote[A]): RemoteNumericSyntax[A]
    Definition Classes
    Syntax
  19. implicit def RemoteOffsetDateTime(remote: Remote[OffsetDateTime]): RemoteOffsetDateTimeSyntax
    Definition Classes
    Syntax
  20. implicit def RemoteOffsetDateTimeCompanion(instant: OffsetDateTime.type): RemoteOffsetDateTimeCompanionSyntax
    Definition Classes
    Syntax
  21. implicit def RemoteOption[A](remote: Remote[Option[A]]): RemoteOptionSyntax[A]
    Definition Classes
    Syntax
  22. implicit def RemoteRegex(remote: Remote[Regex]): RemoteRegexSyntax
    Definition Classes
    Syntax
  23. implicit def RemoteRelational[A](remote: Remote[A]): RemoteRelationalSyntax[A]
    Definition Classes
    Syntax
  24. implicit def RemoteSet[A](remote: Remote[Set[A]]): RemoteSetSyntax[A]
    Definition Classes
    Syntax
  25. implicit def RemoteString(remote: Remote[String]): RemoteStringSyntax
    Definition Classes
    Syntax
  26. implicit def RemoteVariable[A](remote: Remote[RemoteVariableReference[A]]): RemoteVariableReferenceSyntax[A]
    Definition Classes
    Syntax
  27. implicit val chronoFieldSchema: Schema[ChronoField]
    Definition Classes
    Schemas
  28. implicit val chronoUnitSchema: Schema[ChronoUnit]
    Definition Classes
    Schemas
  29. implicit val regexSchema: Schema[Regex]
    Definition Classes
    Schemas
  30. implicit def remoteStringInterpolator(ctx: StringContext): RemoteStringInterpolator
    Definition Classes
    Syntax
  31. implicit def remoteTuple10Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10](remote: Remote[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)]): flow.remote.RemoteTuples.RemoteTuple10.Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]
    Definition Classes
    Syntax
  32. implicit def remoteTuple11Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11](remote: Remote[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)]): flow.remote.RemoteTuples.RemoteTuple11.Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11]
    Definition Classes
    Syntax
  33. implicit def remoteTuple12Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12](remote: Remote[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)]): flow.remote.RemoteTuples.RemoteTuple12.Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12]
    Definition Classes
    Syntax
  34. implicit def remoteTuple13Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13](remote: Remote[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)]): flow.remote.RemoteTuples.RemoteTuple13.Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13]
    Definition Classes
    Syntax
  35. implicit def remoteTuple14Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14](remote: Remote[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)]): flow.remote.RemoteTuples.RemoteTuple14.Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14]
    Definition Classes
    Syntax
  36. implicit def remoteTuple15Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15](remote: Remote[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)]): flow.remote.RemoteTuples.RemoteTuple15.Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15]
    Definition Classes
    Syntax
  37. implicit def remoteTuple16Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16](remote: Remote[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)]): flow.remote.RemoteTuples.RemoteTuple16.Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16]
    Definition Classes
    Syntax
  38. implicit def remoteTuple17Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17](remote: Remote[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)]): flow.remote.RemoteTuples.RemoteTuple17.Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17]
    Definition Classes
    Syntax
  39. implicit def remoteTuple18Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18](remote: Remote[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)]): flow.remote.RemoteTuples.RemoteTuple18.Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18]
    Definition Classes
    Syntax
  40. implicit def remoteTuple19Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19](remote: Remote[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)]): flow.remote.RemoteTuples.RemoteTuple19.Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19]
    Definition Classes
    Syntax
  41. implicit def remoteTuple20Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20](remote: Remote[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)]): flow.remote.RemoteTuples.RemoteTuple20.Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20]
    Definition Classes
    Syntax
  42. implicit def remoteTuple21Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21](remote: Remote[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)]): flow.remote.RemoteTuples.RemoteTuple21.Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21]
    Definition Classes
    Syntax
  43. implicit def remoteTuple22Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22](remote: Remote[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)]): flow.remote.RemoteTuples.RemoteTuple22.Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22]
    Definition Classes
    Syntax
  44. implicit def remoteTuple2Syntax[T1, T2](remote: Remote[(T1, T2)]): flow.remote.RemoteTuples.RemoteTuple2.Syntax[T1, T2]
    Definition Classes
    Syntax
  45. implicit def remoteTuple3Syntax[T1, T2, T3](remote: Remote[(T1, T2, T3)]): flow.remote.RemoteTuples.RemoteTuple3.Syntax[T1, T2, T3]
    Definition Classes
    Syntax
  46. implicit def remoteTuple4Syntax[T1, T2, T3, T4](remote: Remote[(T1, T2, T3, T4)]): flow.remote.RemoteTuples.RemoteTuple4.Syntax[T1, T2, T3, T4]
    Definition Classes
    Syntax
  47. implicit def remoteTuple5Syntax[T1, T2, T3, T4, T5](remote: Remote[(T1, T2, T3, T4, T5)]): flow.remote.RemoteTuples.RemoteTuple5.Syntax[T1, T2, T3, T4, T5]
    Definition Classes
    Syntax
  48. implicit def remoteTuple6Syntax[T1, T2, T3, T4, T5, T6](remote: Remote[(T1, T2, T3, T4, T5, T6)]): flow.remote.RemoteTuples.RemoteTuple6.Syntax[T1, T2, T3, T4, T5, T6]
    Definition Classes
    Syntax
  49. implicit def remoteTuple7Syntax[T1, T2, T3, T4, T5, T6, T7](remote: Remote[(T1, T2, T3, T4, T5, T6, T7)]): flow.remote.RemoteTuples.RemoteTuple7.Syntax[T1, T2, T3, T4, T5, T6, T7]
    Definition Classes
    Syntax
  50. implicit def remoteTuple8Syntax[T1, T2, T3, T4, T5, T6, T7, T8](remote: Remote[(T1, T2, T3, T4, T5, T6, T7, T8)]): flow.remote.RemoteTuples.RemoteTuple8.Syntax[T1, T2, T3, T4, T5, T6, T7, T8]
    Definition Classes
    Syntax
  51. implicit def remoteTuple9Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9](remote: Remote[(T1, T2, T3, T4, T5, T6, T7, T8, T9)]): flow.remote.RemoteTuples.RemoteTuple9.Syntax[T1, T2, T3, T4, T5, T6, T7, T8, T9]
    Definition Classes
    Syntax
  52. implicit val schemaDuration: Schema[zio.Duration]
    Definition Classes
    Schemas
  53. implicit def schemaFailure[A]: Schema[Failure[A]]
    Definition Classes
    Schemas
  54. implicit lazy val schemaStackTraceElement: Schema[StackTraceElement]
    Definition Classes
    Schemas
  55. implicit def schemaSuccess[A](implicit schema: Schema[A]): Schema[Success[A]]
    Definition Classes
    Schemas
  56. implicit lazy val schemaThrowable: Schema[Throwable]
    Definition Classes
    Schemas
  57. implicit def schemaTry[A](implicit schema: Schema[A]): Schema[Try[A]]
    Definition Classes
    Schemas
  58. implicit val schemaUri: Schema[URI]
    Definition Classes
    Schemas
  59. implicit val schemaZNothing: Schema[ZNothing]
    Definition Classes
    Schemas
  60. object Activity extends Serializable
  61. object ActivityError extends Serializable
  62. object BindingName extends Newtype[UUID]
  63. object ConfigKey extends Newtype[String]
  64. object Configuration
  65. object ExecutingFlow extends Serializable
  66. object FlowId extends Newtype[String]
  67. object Instant
    Definition Classes
    InstantModule
  68. object LocalContext
  69. object OffsetDateTime
    Definition Classes
    OffsetDateTimeModule
  70. object Operation
  71. object OperationExecutor
  72. object PromiseId extends Newtype[String]
  73. object Random
  74. object RecursionId extends Newtype[UUID]
  75. object Remote
  76. object RemoteContext
  77. object RemoteEvaluationError
  78. object RemoteVariableName extends Newtype[String]
  79. object RemoteVariableReference extends Serializable
  80. object TransactionId extends Newtype[String]
  81. object VariableUsage extends Serializable
  82. object ZFlow
  83. object ZFlowSchedule
  84. object ZFlowTransaction

Inherited from OffsetDateTimeModule

Inherited from InstantModule

Inherited from Schemas

Inherited from LowerPrioritySchemas

Inherited from Syntax

Inherited from AnyRef

Inherited from Any

Ungrouped