BIOApp
Safe App
type that executes a IO. Shutdown occurs after
the IO
completes, as follows:
Safe App
type that executes a IO. Shutdown occurs after
the IO
completes, as follows:
-
If completed with
ExitCode.Success
, the main method exits and shutdown is handled by the platform. -
If completed with any other
ExitCode
,sys.exit
is called with the specified code. -
If the
IO
raises an error, the stack trace is printed to standard error andsys.exit(1)
is called.
When a shutdown is requested via a signal, the IO
is canceled and
we wait for the IO
to release any resources. The process exits
with the numeric value of the signal plus 128.
import cats.effect._
import cats.implicits._
import monix.bio._
object MyApp extends BIOApp {
def run(args: List[String]): UIO[ExitCode] =
args.headOption match {
case Some(name) =>
UIO(println(s"Hello, \${name}.")).as(ExitCode.Success)
case None =>
UIO(System.err.println("Usage: MyApp name")).as(ExitCode(2))
}
}
N.B. this is homologous with cats.effect.IOApp, but meant for usage with IO.
Works on top of JavaScript as well ;-)
Value members
Concrete methods
Options for executing the Task action. The default value is defined in defaultOptions, but can be overridden.
Options for executing the Task action. The default value is defined in defaultOptions, but can be overridden.
Implicits
Implicits
Provides the cats.effect.ConcurrentEffect instance of this runtime environment.
Provides the cats.effect.ConcurrentEffect instance of this runtime environment.