Example #1
0
    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)
Example #2
0
    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 = [
Example #3
0
"""

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