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.
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.
Attributes
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.
Example:
Often start is implemented using the izumi.distage.model.definition.Lifecycle.fork_ method
to spawn a daemon fiber running the service in background.