trait TaskApp extends AnyRef
Safe App
type that executes a Task. Shutdown occurs after
the Task
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 Task
raises an error, the stack trace is printed to
standard error and sys.exit(1)
is called.
When a shutdown is requested via a signal, the Task
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.eval._ object MyApp extends TaskApp { def run(args: List[String]): Task[ExitCode] = args.headOption match { case Some(name) => Task(println(s"Hello, \${name}.")).as(ExitCode.Success) case None => Task(System.err.println("Usage: MyApp name")).as(ExitCode(2)) } }
N.B. this is homologous with cats.effect.IOApp, but meant for usage with Task.
Works on top of JavaScript as well ;-)
- Alphabetic
- By Inheritance
- TaskApp
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
implicit
lazy val
catsEffect: ConcurrentEffect[Task]
Provides the cats.effect.ConcurrentEffect instance of this runtime environment.
Provides the cats.effect.ConcurrentEffect instance of this runtime environment.
- Attributes
- protected
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def main(args: Array[String]): Unit
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
options: Options
Options for executing the Task action.
Options for executing the Task action. The default value is defined in defaultOptions, but can be overridden.
- Attributes
- protected
-
def
scheduler: Scheduler
Scheduler for executing the Task action.
Scheduler for executing the Task action. Defaults to
global
, but can be overridden.- Attributes
- protected
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )