""" Main start entry point for ESS service """ import logging import signal import time import traceback from ess.common.constants import Sections from ess.common.config import config_has_section, config_has_option, config_list_options, config_get from ess.common.utils import setup_logging setup_logging('ess.log') DAEMONS = { 'basedaemon': ['ess.daemons.common.basedaemon.BaseDaemon', Sections.BaseDaemon], 'resourcemanager': ['ess.daemons.resourcemanager.daemon.ResourceManager', Sections.ResourceManager], 'broker': ['ess.daemons.broker.daemon.Broker', Sections.Broker], 'assigner': ['ess.daemons.assigner.daemon.Assigner', Sections.Assigner], 'precacher': ['ess.daemons.precacher.daemon.PreCacher', Sections.PreCacher], 'splitter': ['ess.daemons.splitter.daemon.Splitter', Sections.Splitter], 'stager': ['ess.daemons.stager.daemon.Stager', Sections.Stager], 'finisher': ['ess.daemons.finisher.daemon.Finisher', Sections.Finisher] } RUNNING_DAEMONS = []
# Authors: # - Wen Guan, <*****@*****.**>, 2019 import time import traceback import Queue from ess.common.constants import Sections from ess.common.exceptions import ESSException, NoPluginException, DaemonPluginError from ess.common.utils import setup_logging from ess.core.catalog import add_contents, get_contents_by_edge, update_contents_by_id from ess.core.requests import get_requests, update_request from ess.daemons.common.basedaemon import BaseDaemon from ess.orm.constants import ContentType, ContentStatus, RequestStatus, GranularityType setup_logging(__name__) class Splitter(BaseDaemon): """ The Splitter daemon class """ def __init__(self, num_threads=1, **kwargs): super(Splitter, self).__init__(num_threads, **kwargs) self.config_section = Sections.Splitter self.output_queue = Queue.Queue() self.setup_logger() def start_splitter_process(self):