Package

dagr.core

tasksystem

Permalink

package tasksystem

Visibility
  1. Public
  2. All

Type Members

  1. trait Dependable extends AnyRef

    Permalink

    A trait that declares all of the dependency management operators for Tasks and their friends, to ensure consistency in implementation between the various objects that implement them.

  2. case class DependencyChain(from: Dependable, to: Dependable) extends Dependable with Product with Serializable

    Permalink

    Represents a link from one Dependable to another, which can have dependencies wired up to it, and will vector the dependencies to the appropriate sub-dependencies.

  3. case class DependencyGroup(a: Dependable, b: Dependable) extends Dependable with Product with Serializable

    Permalink

    Represents a group of Dependable objects such that depedency operations on a DependencyGroup are transmitted to all contained Dependables.

  4. class EitherTask extends Task

    Permalink

    A task that returns either the left or right task based on a deferred choice.

    A task that returns either the left or right task based on a deferred choice. The choice function is not evaluated until all dependencies have been met and the EitherTask needs to make a decision about which task to return from

  5. trait FixedResources extends ScheduleWithEmptyDefaultResources

    Permalink

    A trait for all tasks that required a specific number of cores and a specific amount of memory.

    A trait for all tasks that required a specific number of cores and a specific amount of memory. The amount can be decided any time prior to takeResources() being called, but must be a single set of values.

  6. abstract class InJvmTask extends UnitTask

    Permalink

    A task that can execute a method in the Jvm, and does not generate any new tasks.

  7. trait JvmRanOutOfMemory extends MemoryRetry

    Permalink

    Determines if a the task failed because it ran out of memory by looking for various strings in the log file.

  8. trait LinearMemoryRetry extends MemoryRetry

    Permalink

    A trait for all tasks that wish to linearly increase their memory upon each retry.

    A trait for all tasks that wish to linearly increase their memory upon each retry.

    By default retries until the maximum system memory is reached, and increases by the initial amount of memory required.

  9. trait MemoryDoublingRetry extends MemoryRetry

    Permalink

    A trait for all tasks that wish to double their memory upon each retry.

  10. trait MemoryRetry extends Retry with FixedResources

    Permalink

    A trait to facilitate retrying a task with more memory.

  11. trait MultipleRetry extends Retry with LazyLogging

    Permalink

    Simple trait to retry a given number of times

  12. class NoOpInJvmTask extends SimpleInJvmTask

    Permalink

    Trivial No-Op task that runs inside the JVM and does nothing.

  13. class NoOpTask extends ProcessTask with FixedResources

    Permalink

    A task that runs and does nothing.

  14. trait Pipe[In, Out] extends ProcessTask

    Permalink

    Trait for tasks that would like to be able to pipe data using stdin and stdout.

    Trait for tasks that would like to be able to pipe data using stdin and stdout. Tasks are still responsible for managing their input and output - so if tasks can also read and write from files, they must have the input set to Io.Stdin and/or output to Io.Stdout before connecting them with pipes.

    See also the traits PipeIn and PipeOut which provide a simplified way to implement a piping task that only receives on or only emits to a pipe.

    In

    a symbolic type representing the kind of data the task can accept

    Out

    a symbolic type representing the kind of data the task emits

  15. trait PipeIn[In] extends Pipe[In, Void]

    Permalink

    A simplified trait for sink tasks that can receive data via a pipe, but cannot pipe onwards.

  16. trait PipeOut[Out] extends Pipe[Void, Out]

    Permalink

    A simplified trait for generate tasks that can pipe out, but cannot receive data from a pipe.

  17. abstract class Pipeline extends Task with LazyLogging

    Permalink

    Simple trait to track tasks within a pipeline

  18. trait ProcessTask extends UnitTask

    Permalink

    A task that can execute a set of commands in its own process, and does not generate any new tasks.

  19. trait Retry extends AnyRef

    Permalink

    A trait to facilitate retry a task when it has failed.

  20. trait Schedulable extends AnyRef

    Permalink

    Traits that isolates methods about how Tasks interact with the Scheduler, and allows for multiple implementations independent from the Task hierarchy.

  21. class ShellCommand extends ProcessTask with FixedResources

    Permalink

    Executes a command, with a set of arguments, in a shell.

  22. abstract class SimpleInJvmTask extends InJvmTask with FixedResources

    Permalink

    A simplified In JVM task that hides the need to return an Int exit code and instead uses the raising of exceptions or lack thereof to indicate failure and success.

  23. trait Task extends Dependable

    Permalink

    Base class for all tasks, multi-tasks, and workflows.

    Base class for all tasks, multi-tasks, and workflows.

    Once a task is constructed, it has the following evolution: 1. Any tasks on which it depends are added (see ==>). 2. When all tasks on which it is dependent have completed, the getTasks method is called to create a set of tasks. This task becomes dependent on any task that is returned that is not itself. 3. When all newly dependent tasks from #2 are complete, as well as this task, the onComplete method is called to perform any light-weight modification of this task. 4. If a task failed during execution or within onComplete, the retry method will be called until the task no longer wishes to retry or succeeds.

  24. trait UnitTask extends Task with LazyLogging with Schedulable

    Permalink

    A task that should be directly executed or scheduled.

    A task that should be directly executed or scheduled.

    A few things about unit tasks: - a task can depend on data from tasks on which it is dependent. See Callbacks. - a task extending this class should return only one task in its getTasks method. See Task.getTasks. - a task can perform any final logic dependent on the resources with which it is scheduled. See Scheduler!.schedule*.

    When a unit task gets scheduled, the dagr.core.execsystem.Scheduler.schedule method will be called to allow any final logic based on the resources this task was scheduled with. This is in addition to the steps listed in Task.

  25. trait VariableResources extends ScheduleWithEmptyDefaultResources

    Permalink

Value Members

  1. object EitherTask

    Permalink
  2. object EmptyDependable extends Dependable

    Permalink

    An object that can be implicitly converted to from a None when using Option[Dependable].

  3. object Linker

    Permalink

    Object for creating linker tasks that transfer state between other tasks at runtime.

  4. object Pipes

    Permalink
  5. object ProcessTask

    Permalink
  6. object Schedulable

    Permalink
  7. object ShellCommand

    Permalink

    Companion object to provide a couple of helper constructors for ShellCommand.

  8. object SimpleInJvmTask

    Permalink

    Companion object for SimpleInJvmTask that provides helpful factory methods.

  9. object Task

    Permalink

    Utility methods to aid in working with a task.

Ungrouped