class MongoExecutor extends ProcessExecutor[ObjectId] with SimplePiObservable[ObjectId]
- Alphabetic
- By Inheritance
- MongoExecutor
- SimplePiObservable
- PiPublisher
- PiObservable
- ProcessExecutor
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new MongoExecutor(client: MongoClient, db: String, collection: String, l: PiProcess*)
- new MongoExecutor(client: MongoClient, db: String, collection: String, processes: PiProcessStore)(implicit executionContext: ExecutionContext = ExecutionContext.global)
Type Members
- final case class CASFailureException(id: String, cause: Throwable = None.orNull) extends Exception with Product with Serializable
- implicit class SafeObservable[T] extends AnyRef
-
case class
Switch(name: String) extends PiSwitch with Product with Serializable
- Definition Classes
- SimplePiObservable
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from MongoExecutor to any2stringadd[MongoExecutor] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (MongoExecutor, B)
- Implicit
- This member is added by an implicit conversion from MongoExecutor to ArrowAssoc[MongoExecutor] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final val CAS_MAX_ATTEMPTS: Int(10)
- final val CAS_WAIT_MS: Int(1)
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
call[H <: PiEventHandler[ObjectId]](instance: PiInstance[_], factory: PiEventHandlerFactory[ObjectId, H]): Future[H]
A
init ; start
sequence that gives us a chance to subscribe a listener that is specific to this execution.A
init ; start
sequence that gives us a chance to subscribe a listener that is specific to this execution. A new ID will be generated for the PiInstance to ensure freshness.- instance
The PiInstance to be executed
- factory
A PiEventHandlerFactory which generates PiEventHandler's for a given ID
- returns
A Future with the PiEventHandler that was generated
- Definition Classes
- ProcessExecutor
-
def
call[H <: PiEventHandler[ObjectId]](process: PiProcess, args: Seq[Any], factory: PiEventHandlerFactory[ObjectId, H]): Future[H]
A
init ; start
sequence that gives us a chance to subscribe a listener that is specific to this execution.A
init ; start
sequence that gives us a chance to subscribe a listener that is specific to this execution.- process
The (atomic or composite) PiProcess to be executed
- args
The (real) arguments to be passed to the process
- factory
A PiEventHandlerFactory which generates PiEventHandler's for a given ID
- returns
A Future with the PiEventHandler that was generated
- Definition Classes
- ProcessExecutor
-
def
call(instance: PiInstance[_]): Future[ObjectId]
A simple
init ; start
sequence when we do not need any even listeners.A simple
init ; start
sequence when we do not need any even listeners. A new ID will be generated for the PiInstance to ensure freshness.- instance
The PiInstance to be executed
- returns
A Future with the ID corresponding to this execution
- Definition Classes
- ProcessExecutor
-
def
call(process: PiProcess, args: Seq[Any]): Future[ObjectId]
A simple
init ; start
sequence when we do not need any even listeners.A simple
init ; start
sequence when we do not need any even listeners.- process
The (atomic or composite) PiProcess to be executed
- args
The (real) arguments to be passed to the process
- returns
A Future with the ID corresponding to this execution
- Definition Classes
- ProcessExecutor
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- val codecRegistry: CodecRegistry
- val col: MongoCollection[PiInstance[ObjectId]]
- val database: MongoDatabase
-
def
ensuring(cond: (MongoExecutor) ⇒ Boolean, msg: ⇒ Any): MongoExecutor
- Implicit
- This member is added by an implicit conversion from MongoExecutor to Ensuring[MongoExecutor] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (MongoExecutor) ⇒ Boolean): MongoExecutor
- Implicit
- This member is added by an implicit conversion from MongoExecutor to Ensuring[MongoExecutor] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): MongoExecutor
- Implicit
- This member is added by an implicit conversion from MongoExecutor to Ensuring[MongoExecutor] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): MongoExecutor
- Implicit
- This member is added by an implicit conversion from MongoExecutor to Ensuring[MongoExecutor] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
execute(instance: PiInstance[_]): Future[Any]
Executes a PiInstance with a PromiseHandler A new ID will be generated for the PiInstance to ensure freshness.
Executes a PiInstance with a PromiseHandler A new ID will be generated for the PiInstance to ensure freshness.
- returns
A Future with the result of the executed process
- Definition Classes
- ProcessExecutor
-
def
execute(process: PiProcess, args: Seq[Any]): Future[Any]
Executes a process with a PromiseHandler
Executes a process with a PromiseHandler
- returns
A Future with the result of the executed process
- Definition Classes
- ProcessExecutor
-
implicit
val
executionContext: ExecutionContext
- Definition Classes
- MongoExecutor → SimplePiObservable → ProcessExecutor
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from MongoExecutor to StringFormat[MongoExecutor] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
handleThread(i: PiInstance[ObjectId])(ref: Int, f: PiFuture): Boolean
- Attributes
- protected
-
val
handlers: Map[String, PiEventHandler[ObjectId]]
- Attributes
- protected
- Definition Classes
- SimplePiObservable
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
init(instance: PiInstance[_]): Future[ObjectId]
Initializes a PiInstance for a process execution.
Initializes a PiInstance for a process execution. A new ID will be generated for the PiInstance to ensure freshness. This is always and only invoked before a
start
, hence why it is protected. This separation gives a chance to PiEventHandlers to subscribe before execution starts.- instance
The PiInstance to be executed
- returns
A Future with the new unique ID that was generated
- Definition Classes
- MongoExecutor → ProcessExecutor
-
def
init(process: PiProcess, args: Seq[PiObject]): Future[ObjectId]
Initializes a PiProcess call for a process execution.
Initializes a PiProcess call for a process execution. This is always and only invoked before a
start
, hence why it is protected. This separation gives a chance to PiEventHandlers to subscribe before execution starts.- process
The (atomic or composite) PiProcess to be executed
- args
The PiObject arguments to be passed to the process
- returns
A Future with the new unique ID that was generated
- Attributes
- protected
- Definition Classes
- ProcessExecutor
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
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()
- final def postResult(id: ObjectId, ref: Int, res: MetadataAtomicResult): Unit
-
def
postResultUpdate(ref: Int, res: PiObject)(i: PiInstance[ObjectId]): PiInstance[ObjectId]
- Attributes
- protected
-
def
publish(evt: PiEvent[ObjectId]): Unit
- Definition Classes
- SimplePiObservable → PiPublisher
-
def
put(i: PiInstance[ObjectId], ni: PiInstance[ObjectId], col: MongoCollection[PiInstance[ObjectId]], session: ClientSession): (Seq[(Int, PiFuture)], Observable[_])
- Attributes
- protected
-
def
runThread(i: PiInstance[ObjectId])(t: (Int, PiFuture)): Unit
- Attributes
- protected
-
def
start(id: ObjectId): Unit
Starts the execution of an initialized PiInstance.
Starts the execution of an initialized PiInstance. This is always and only invoked after an
init
, hence why it is protected. This separation gives a chance to PiEventHandlers to subscribe before execution starts.- id
The ID of the instance to start executing
- Definition Classes
- MongoExecutor → ProcessExecutor
-
def
startUpdate(i: PiInstance[ObjectId]): PiInstance[ObjectId]
- Attributes
- protected
-
def
subscribe(handler: PiEventHandler[ObjectId]): Future[PiSwitch]
Subscribes a com.workflowfm.pew.stream.PiEventHandler to observe.
Subscribes a com.workflowfm.pew.stream.PiEventHandler to observe.
- handler
the handler to subscribe
- returns
the com.workflowfm.pew.stream.PiSwitch that allows us to stop/unsubscribe the subscribed handler
- Definition Classes
- SimplePiObservable → PiObservable
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
unsubscribe(handlerName: String): Future[Boolean]
- Definition Classes
- SimplePiObservable
-
final
def
update(id: ObjectId, f: (PiInstance[ObjectId]) ⇒ PiInstance[ObjectId], attempt: Int, promise: Promise[PiInstance[ObjectId]]): Unit
- Attributes
- protected
-
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
- @throws( ... ) @native()
-
def
→[B](y: B): (MongoExecutor, B)
- Implicit
- This member is added by an implicit conversion from MongoExecutor to ArrowAssoc[MongoExecutor] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- object CASException extends Exception with Product with Serializable
- object PiException extends Exception with Product with Serializable