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 ; startsequence that gives us a chance to subscribe a listener that is specific to this execution.A
init ; startsequence 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 ; startsequence that gives us a chance to subscribe a listener that is specific to this execution.A
init ; startsequence 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 ; startsequence when we do not need any even listeners.A simple
init ; startsequence 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 ; startsequence when we do not need any even listeners.A simple
init ; startsequence 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