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)