def __version__(): '''Library version with 4 fields: 'a.b.c-d' Where the two first 'a' and 'b' comes from the base C library (scpi-parser), the third is the build of this cypthon port and the last one is a revision number. ''' return _version()
def __init__(self, target, arginLst, parallel=None, checkPeriod=None, preHook=None, preExtraArgs=None, postHook=None, postExtraArgs=None, *args, **kwargs): """ Build an object with the capacity to execute multiple process with the same method. It will build a pool of processes where they will take elements in a shared queue until the queue is empty. Arguments: - target: Method that each of the parallel process will be executing with the input arguments. It must be callable with objects in the list as parameters. - arginLst: python list where each element is data input for the method that will be executed in parallel. - parallel: (optional) to establish the number of parallel processes that will participate. By default the maximum possible based on the number of cores available. """ super(Pool, self).__init__(*args, **kwargs) # prepare the parameters --- self.__target = target self.__checkPeriod = 60 # seconds self.__parallel = None self.__workersLst = [] self.__input = _Queue() self.__inputNelements = 0 self.__output = _Queue() self.__poolMonitor = _Thread(target=self.__poolMonitorThread) self.__poolMonitor.setDaemon(True) self.__collected = [] self.__loadAverage = _LoadAverage(*args, **kwargs) self._instances.append(self.__loadAverage) self.__memoryPercent = _MemoryPercent(*args, **kwargs) self._instances.append(self.__memoryPercent) self.__events = _EventManager() self.__events.loggingFolder = self.loggingFolder self.__events.loggerName = self.loggerName self.__events.logLevel = self.logLevel self.__events.logEnable = self.logEnable self._instances.append(self.__events) # hooks --- self.__preHook = preHook self.__preExtraArgs = preExtraArgs self.__postHook = postHook self.__postExtraArgs = postExtraArgs # setup --- self.__prepareParallel(parallel) self.__prepareInputQueue(arginLst) self.__prepareWorkers(*args, **kwargs) self.__prepareMonitoring() self.debug("Prepared a yamp.Pool() version %s" % (_version()))
from CveXplore.main import CveXplore try: from version import _version _version() except ModuleNotFoundError: pass