Packages

class RunAllRoles[F[_]] extends RoleService[F] with BundledTask

This service runs all the non-bundled distage services with its arguments passed to each task.

This service itself might not be too useful in complex cases because of the argument sharing, though it may be used as a template for creating service aggregates.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RunAllRoles
  2. BundledTask
  3. BundledService
  4. RoleService
  5. AbstractRole
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new RunAllRoles(allTasks: Set[izumi.distage.roles.model.RoleService[F]] @izumi.distage.model.definition.Id("all-custom-roles"))(implicit F: QuasiIO[F])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. def start(roleParameters: RawEntrypointParams, freeArgs: Vector[String]): Lifecycle[F, Unit]

    Returns a izumi.distage.model.definition.Lifecycle with the start/shutdown of a service described by its acquire/release actions.

    Returns a izumi.distage.model.definition.Lifecycle with the start/shutdown of a service described by its acquire/release actions. The acquired service will be kept alive until the application is interrupted or is otherwise finished, then the specified release action of the Lifecycle will run for cleanup.

    Definition Classes
    RunAllRolesRoleService
    Example:
    1. Often start is implemented using the izumi.distage.model.definition.Lifecycle.fork_ method to spawn a daemon fiber running the service in background.

      import izumi.distage.roles.model.RoleService
      import izumi.functional.bio.{F, IO2}
      import logstage.LogIO2
      import logstage.LogIO2.log
      
      final class HelloService[F[+_, +_]: IO2: LogIO2] extends RoleService[F] {
        def start(roleParameters: RawEntrypointParams, freeArgs: Vector[String]): Lifecycle[F[Nothing, _], Unit] = {
          Lifecycle.fork_(helloServer).void
        }
      
        val helloServer: F[Throwable, Unit] = {
          (for {
            name <- F.syncThrowable { Console.in.readLine() }
            _    <- log.info(s"Hello $name!")
          } yield ()).forever
        }
      }
    Note

    Resource initialization must be finite. Application startup won't progress until the acquire phase of the returned Lifecycle is finished. You may start a separate thread / fiber, etc during resource initialization. All the shutdown logic has to be implemented in the resource finalizer.

  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from BundledTask

Inherited from BundledService

Inherited from RoleService[F]

Inherited from AbstractRole[F]

Inherited from AnyRef

Inherited from Any

Ungrouped