Class/Object

agora.api.exchange

SubmissionDetails

Related Docs: object SubmissionDetails | package exchange

Permalink

case class SubmissionDetails(aboutMe: Json, selection: SelectionMode, awaitMatch: Boolean, workMatcher: JMatcher, orElse: List[JMatcher]) extends JsonAppendable with Product with Serializable

The SubmissionDetails is the ansillary information submitted with a job request.

Where a typical REST endpoint would just take some POSTed json request, the SubmitJob requests wraps that json together will some information intended for the Exchange in order for it to match the job with a worker.

The SubmissionDetails is that additional information to act as instructions/information specific to the job scheduling/matching. It contains:

aboutMe

a hold-all json blob which can include any details a client request wishes to expose to potential workers. It could contain e.g. session information, the submitting or 'run-as' user, etc.

selection

an instruction on which/how to select matching work subscriptions as an opportunity to filter on best-fit

awaitMatch

if true, the job submission to the exchange should block until one or more matching worker(s) is found

workMatcher

the json criteria used to match work subscriptions

orElse

should the 'workMatcher' not match _any_ current work subscriptions, the SubmitJob is resubmitted with the 'orElse' criteria

Linear Supertypes
Serializable, Serializable, Product, Equals, JsonAppendable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SubmissionDetails
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. JsonAppendable
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SubmissionDetails(aboutMe: Json, selection: SelectionMode, awaitMatch: Boolean, workMatcher: JMatcher, orElse: List[JMatcher])

    Permalink

    aboutMe

    a hold-all json blob which can include any details a client request wishes to expose to potential workers. It could contain e.g. session information, the submitting or 'run-as' user, etc.

    selection

    an instruction on which/how to select matching work subscriptions as an opportunity to filter on best-fit

    awaitMatch

    if true, the job submission to the exchange should block until one or more matching worker(s) is found

    workMatcher

    the json criteria used to match work subscriptions

    orElse

    should the 'workMatcher' not match _any_ current work subscriptions, the SubmitJob is resubmitted with the 'orElse' criteria

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +[T](keyValue: (String, T))(implicit arg0: Encoder[T]): SubmissionDetails

    Permalink
  4. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  5. val aboutMe: Json

    Permalink

    a hold-all json blob which can include any details a client request wishes to expose to potential workers.

    a hold-all json blob which can include any details a client request wishes to expose to potential workers. It could contain e.g. session information, the submitting or 'run-as' user, etc.

    Definition Classes
    SubmissionDetailsJsonAppendable
  6. def add[T](keyValue: (String, T))(implicit arg0: Encoder[T]): SubmissionDetails

    Permalink
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. val awaitMatch: Boolean

    Permalink

    if true, the job submission to the exchange should block until one or more matching worker(s) is found

  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  14. def mergeJson[T](data: T, name: String = null)(implicit arg0: Encoder[T]): Json

    Permalink
    Attributes
    protected
    Definition Classes
    JsonAppendable
  15. def namespace[T](c1ass: Class[T], name: String): String

    Permalink
    Attributes
    protected
    Definition Classes
    JsonAppendable
  16. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. def next(): Option[SubmissionDetails]

    Permalink

    If 'orElse' lists another work subscription, then a SubmissionDetails is returned using that as the work matcher with the remaining 'orElse' tail as it's 'orElse'

    If 'orElse' lists another work subscription, then a SubmissionDetails is returned using that as the work matcher with the remaining 'orElse' tail as it's 'orElse'

    returns

    a SubmissionDetails referring to the orElse list if it's non-empty

  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. val orElse: List[JMatcher]

    Permalink

    should the 'workMatcher' not match _any_ current work subscriptions, the SubmitJob is resubmitted with the 'orElse' criteria

  21. val selection: SelectionMode

    Permalink

    an instruction on which/how to select matching work subscriptions as an opportunity to filter on best-fit

  22. def submittedBy: User

    Permalink
  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  24. def valueOf[T](name: String = null)(implicit arg0: Decoder[T], arg1: ClassTag[T]): Result[T]

    Permalink
    Definition Classes
    JsonAppendable
  25. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. def withData[T](data: T, name: String = null)(implicit arg0: Encoder[T]): SubmissionDetails

    Permalink
  29. val workMatcher: JMatcher

    Permalink

    the json criteria used to match work subscriptions

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from JsonAppendable

Inherited from AnyRef

Inherited from Any

Ungrouped