def __init__(self, port, worker_key): self.master_port = port self.worker_key = worker_key logger = init_logging(pydra_settings.LOG_FILENAME_NODE, '[%s]' % worker_key) self.modules = [ TaskManager(None, True), WorkerConnectionManager, WorkerTaskControls, ] ModuleManager.__init__(self) self.emit_signal('MANAGER_INIT') logger.info('Started Worker: %s' % worker_key)
You should have received a copy of the GNU General Public License along with Pydra. If not, see <http://www.gnu.org/licenses/>. """ from pydra.logs.log_aggregator import NodeLogAggregator from pydra.cluster.module import ModuleManager from pydra.cluster.node import NodeInformation, WorkerManager, \ WorkerConnectionManager, MasterConnectionManager, TaskSyncClient, \ NodeZeroConfService from pydra.cluster.tasks.task_manager import TaskManager from pydra.config import load_settings load_settings() import pydra_settings # init logging from pydra.logs.logger import init_logging logger = init_logging(pydra_settings.LOG_FILENAME_NODE, '[Node]') class NodeServer(ModuleManager): """ Node - A Node manages a server in your cluster. There is one instance of Node running per server. Node will spawn worker processes for each core available on your machine. This allows some central control over what happens on the node. """ def __init__(self): logger.info('=========================================================') logger.info('=================== Node - Starting =====================') logger.info('=========================================================') self.modules = [
""" from pydra.cluster.controller.web.interface import TwistedWebInterface from pydra.logs.log_aggregator import MasterLogAggregator from pydra.cluster.module import ModuleManager from pydra.cluster.master import AutoDiscoveryModule, NodeConnectionManager, \ TaskScheduler, NodeManager from pydra.cluster.master.task_sync import TaskSyncServer from pydra.cluster.tasks.task_manager import TaskManager import pydra_settings # init logging from pydra.logs.logger import init_logging logger = init_logging(pydra_settings.LOG_FILENAME_MASTER) class Master(ModuleManager): """ Master is the server that controls the cluster. There must be one and only one master per cluster (for now). It will direct and delegate work taking place on the Nodes and Workers """ def __init__(self): logger.info('=========================================================') logger.info('=================== starting master =====================') logger.info('=========================================================') """ List of modules to load. They will be loaded sequentially