ExecutorDispatcher¶
Used by the executors for dispatching events (IIUC)
- class DIRAC.Core.Utilities.ExecutorDispatcher.ExecutorDispatcher(monitor=None)¶
Bases:
object
- __init__(monitor=None)¶
- Parameters
monitor – good question…. what’s meant to be used for monitoring. Either a :py:class`DIRAC.FrameworkSystem.Client.MonitoringClient.MonitoringClient` or a :py:class`DIRAC.MonitoringSystem.Client.MonitoringReporter.MonitoringReporter`
- addExecutor(eId, eTypes, maxTasks=1)¶
- addTask(taskId, taskObj)¶
- freezeTask(eId, taskId, freezeTime, taskObj=False)¶
- getExecutorsConnected()¶
- getTask(taskId)¶
- getTaskIds()¶
- removeExecutor(eId)¶
- removeTask(taskId)¶
- retryTask(eId, taskId)¶
- setCallbacks(callbacksObj)¶
- setFailedOnTooFrozen(value)¶
- setFreezeOnFailedDispatch(value)¶
- setFreezeOnUnknownExecutor(value)¶
- taskProcessed(eId, taskId, taskObj=False)¶
- class DIRAC.Core.Utilities.ExecutorDispatcher.ExecutorDispatcherCallbacks¶
Bases:
object
- cbDisconectExecutor(eId)¶
- cbDispatch(taskId, taskObj, pathExecuted)¶
- cbSendTask(taskId, taskObj, eId, eType)¶
- cbTaskError(taskId, taskObj, errorMsg)¶
- cbTaskFreeze(taskId, taskObj, eType)¶
- cbTaskProcessed(taskId, taskObj, eType)¶
- class DIRAC.Core.Utilities.ExecutorDispatcher.ExecutorQueues(log=False)¶
Bases:
object
- __init__(log=False)¶
- deleteTask(taskId)¶
- getExecutorList()¶
- getState()¶
- popTask(eTypes)¶
- pushTask(eType, taskId, ahead=False)¶
- waitingTasks(eType)¶
- class DIRAC.Core.Utilities.ExecutorDispatcher.ExecutorState(log=False)¶
Bases:
object
- __init__(log=False)¶
- addExecutor(eId, eTypes, maxTasks=1)¶
- addTask(eId, taskId)¶
- freeSlots(eId)¶
- full(eId)¶
- getExecutorOfTask(taskId)¶
- getFreeExecutors(eType)¶
- getIdleExecutor(eType)¶
- getTasksForExecutor(eId)¶
- removeExecutor(eId)¶
- removeTask(taskId, eId=None)¶