def init_plugin_manager(): """ docstring""" plugin_manager = PluginManagerFactory.get_instance() Scope.get_instance().set_plugin_manager(plugin_manager) # order changed, problem? plugin_manager.load_plugins() return plugin_manager
def execute_win_command(filePath, parameters=None, shell=True, result=True): try: Scope.get_instance().get_logger().debug('Executing command: ' + str(filePath)) process = subprocess.Popen([ r'powershell.exe', '-ExecutionPolicy', 'Unrestricted', filePath, parameters ], stderr=subprocess.PIPE, stdout=subprocess.PIPE) Scope.get_instance().get_logger().debug('Executing command: ' + str(filePath)) if result is True: result_code = process.wait() p_out = process.stdout.read().decode("unicode_escape") p_err = process.stderr.read().decode("unicode_escape") return result_code, p_out, p_err else: return None, None, None except Exception as e: return 1, 'Could not execute command: {0}. Error Message: {1}'.format( filePath, str(e)), ''
def show_message(username, display, message='', title=''): ask_path = Util.get_ask_path_file() + 'confirm.py' Scope.get_instance().get_logger().debug( 'DISPLAYYYY --------->>>>>>>>: ' + str(display)) if display is None: display_number = Util.get_username_display() else: display_number = display try: if Util.get_desktop_env() == "gnome": display_number = Util.get_username_display_gnome(username) if username is not None: command = 'su - {0} -c \'python3 {1} \"{2}\" \"{3}\" \"{4}\"\''.format( username, ask_path, message, title, display_number) result_code, p_out, p_err = Util.execute(command) if p_out.strip() == 'Y': return True elif p_out.strip() == 'N': return False else: return None else: return None except Exception as e: print("Error when showing message " + str(e)) return None
def init_config_manager(config_file_path, configfile_folder_path): """ docstring""" config_manager = ConfigManager(config_file_path, configfile_folder_path) config = config_manager.read() Scope.get_instance().set_configuration_manager(config) return config
def init_ahenk_db(): """ docstring""" db_service = AhenkDbService() db_service.connect() db_service.initialize_table() Scope.get_instance().set_sb_service(db_service) return db_service
def init_plugin_manager(): """ docstring""" plugin_manager = PluginManagerFactory.get_instance() Scope.get_instance().set_plugin_manager(plugin_manager) # order changed, problem? plugin_manager.load_plugins() return plugin_manager
def init_ahenk_db(): """ docstring""" db_service = AhenkDbService() db_service.connect() db_service.initialize_table() Scope.get_instance().set_sb_service(db_service) return db_service
def init_logger(): """ docstring""" print('init logger...') logger = Logger() logger.info('Log was set') Scope.get_instance().set_logger(logger) return logger
def init_message_response_queue(): """ docstring""" response_queue = queue.Queue() message_response_queue = MessageResponseQueue(response_queue) message_response_queue.setDaemon(True) message_response_queue.start() Scope.get_instance().set_response_queue(response_queue) return response_queue
def get_username(): user_name = Scope.get_instance().get_db_service().select_one_result( 'session', 'username', " 1=1 order by id desc ") domain = Scope.get_instance().get_db_service().select_one_result( 'session', 'domain', " 1=1 order by id desc ") if domain: user_name = "{0}\\{1}".format(domain, user_name) return user_name
def get_as_user(): as_user = Scope.get_instance().get_db_service().select_one_result( 'session', 'username', " 1=1 order by id desc ") domain = Scope.get_instance().get_db_service().select_one_result( 'session', 'domain', " 1=1 order by id desc ") if domain: as_user = "******".format(domain, as_user) return as_user
def init_message_response_queue(): """ docstring""" response_queue = queue.Queue() message_response_queue = MessageResponseQueue(response_queue) message_response_queue.setDaemon(True) message_response_queue.start() Scope.get_instance().set_response_queue(response_queue) return response_queue
def init_scheduler(): """ docstring""" scheduler_ins = SchedulerFactory.get_intstance() scheduler_ins.initialize() Scope.get_instance().set_scheduler(scheduler_ins) sc_thread = threading.Thread(target=scheduler_ins.run) sc_thread.setDaemon(True) sc_thread.start() return scheduler_ins
def init_scheduler(): """ docstring""" scheduler_ins = SchedulerFactory.get_intstance() scheduler_ins.initialize() Scope.get_instance().set_scheduler(scheduler_ins) sc_thread = threading.Thread(target=scheduler_ins.run) sc_thread.setDaemon(True) sc_thread.start() return scheduler_ins
def plugin_installation_failure(self, plugin_name, plugin_version): self.logger.warning('{0} plugin installation failure '.format(plugin_name)) if plugin_name in self.plugin_manager.delayed_profiles.keys(): profile = self.plugin_manager.delayed_profiles[plugin_name] self.logger.warning('An error message sending with related profile properties...') related_policy = self.db_service.select('policy', ['version', 'execution_id'], 'id={0}'.format(profile.get_id())) data = dict() data['message'] = "Profil işletilirken eklenti bulunamadı " "ve eksik olan eklenti kurulmaya çalışırken hata ile karşılaşıldı. " "İlgili eklenti Ahenk'e yüklendiğinde, başarısız olan bu profil " "(Başka bir politika tarafından ezilmedikçe) " "çalıştırılacaktır" " Sorunu çözmek için Lider yapılandırma dosyasındaki eklenti dağıtım " "bilgilerinin doğruluğundan ve belirtilen dizinde geçerli eklenti paketinin " "bulunduğundan emin olun." response = Response(type=MessageType.POLICY_STATUS.value, id=profile.get_id(), code=MessageCode.POLICY_ERROR.value, message="Profil işletilirken eklenti bulunamadı " "ve eksik olan eklenti kurulurken hata oluştu", execution_id=related_policy[0][1], policy_version=related_policy[0][0], data=json.dumps(data), content_type=ContentType.APPLICATION_JSON.value) messenger = Scope.get_instance().get_messenger() messenger.send_direct_message(self.message_manager.policy_status_msg(response)) self.logger.warning( 'Error message was sent about {0} plugin installation failure while trying to run a profile') if plugin_name in self.plugin_manager.delayed_tasks.keys(): task = self.plugin_manager.delayed_tasks[plugin_name] self.logger.warning('An error message sending with related task properties...') data = dict() data['message'] = "Görev işletilirken eklenti bulunamadı " "ve eksik olan eklenti kurulmaya çalışırken hata ile karşılaşıldı. " "İlgili eklenti Ahenk'e yüklendiğinde, başarısız olan bu görev " "çalıştırılacaktır" " Sorunu çözmek için Lider yapılandırma dosyasındaki eklenti dağıtım " "bilgilerinin doğruluğundan ve belirtilen dizinde geçerli eklenti paketinin " "bulunduğundan emin olun." response = Response(type=MessageType.TASK_STATUS.value, id=task.get_id(), code=MessageCode.TASK_ERROR.value, message="Görev işletilirken eklenti bulunamadı " "ve eksik olan eklenti kurulmaya çalışırken oluştu.", data=json.dumps(data), content_type=ContentType.APPLICATION_JSON.value) messenger = Scope.get_instance().get_messenger() messenger.send_direct_message(self.message_manager.task_status_msg(response)) self.logger.warning( 'Error message was sent about {0} plugin installation failure while trying to run a task')
def plugin_installation_failure(self, plugin_name, plugin_version): self.logger.warning('{0} plugin installation failure '.format(plugin_name)) if plugin_name in self.plugin_manager.delayed_profiles.keys(): profile = self.plugin_manager.delayed_profiles[plugin_name] self.logger.warning('An error message sending with related profile properties...') related_policy = self.db_service.select('policy', ['version', 'execution_id'], 'id={0}'.format(profile.get_id())) data = dict() data['message'] = "Profil işletilirken eklenti bulunamadı " "ve eksik olan eklenti kurulmaya çalışırken hata ile karşılaşıldı. " "İlgili eklenti Ahenk'e yüklendiğinde, başarısız olan bu profil " "(Başka bir politika tarafından ezilmedikçe) " "çalıştırılacaktır" " Sorunu çözmek için Lider yapılandırma dosyasındaki eklenti dağıtım " "bilgilerinin doğruluğundan ve belirtilen dizinde geçerli eklenti paketinin " "bulunduğundan emin olun." response = Response(type=MessageType.POLICY_STATUS.value, id=profile.get_id(), code=MessageCode.POLICY_ERROR.value, message="Profil işletilirken eklenti bulunamadı " "ve eksik olan eklenti kurulurken hata oluştu", execution_id=related_policy[0][1], policy_version=related_policy[0][0], data=json.dumps(data), content_type=ContentType.APPLICATION_JSON.value) messenger = Scope.get_instance().get_messenger() messenger.send_direct_message(self.message_manager.policy_status_msg(response)) self.logger.warning( 'Error message was sent about {0} plugin installation failure while trying to run a profile') if plugin_name in self.plugin_manager.delayed_tasks.keys(): task = self.plugin_manager.delayed_tasks[plugin_name] self.logger.warning('An error message sending with related task properties...') data = dict() data['message'] = "Görev işletilirken eklenti bulunamadı " "ve eksik olan eklenti kurulmaya çalışırken hata ile karşılaşıldı. " "İlgili eklenti Ahenk'e yüklendiğinde, başarısız olan bu görev " "çalıştırılacaktır" " Sorunu çözmek için Lider yapılandırma dosyasındaki eklenti dağıtım " "bilgilerinin doğruluğundan ve belirtilen dizinde geçerli eklenti paketinin " "bulunduğundan emin olun." response = Response(type=MessageType.TASK_STATUS.value, id=task.get_id(), code=MessageCode.TASK_ERROR.value, message="Görev işletilirken eklenti bulunamadı " "ve eksik olan eklenti kurulmaya çalışırken oluştu.", data=json.dumps(data), content_type=ContentType.APPLICATION_JSON.value) messenger = Scope.get_instance().get_messenger() messenger.send_direct_message(self.message_manager.task_status_msg(response)) self.logger.warning( 'Error message was sent about {0} plugin installation failure while trying to run a task')
def check_registration(self): """ docstring""" # max_attempt_number = int(System.Hardware.Network.interface_size()) * 3 max_attempt_number = 1 # self.logger.debug() # logger = Scope.getInstance().getLogger() registration = Scope.get_instance().get_registration() try: #if registration.is_registered() is False: # self.logger.debug('Ahenk is not registered. Attempting for registration') # if registration.registration_request() == False: # self.registration_failed() if registration.is_registered() is False: print("Registration attemp") max_attempt_number -= 1 self.logger.debug( 'Ahenk is not registered. Attempting for registration') registration.registration_request(self.register_hostname, self.register_user_name, self.register_user_password) #if max_attempt_number < 0: # self.logger.warning('Number of Attempting for registration is over') # self.registration_failed() # break except Exception as e: self.registration_failed() self.logger.error('Registration failed. Error message: {0}'.format( str(e)))
def __init__(self): super(ExecutionManager, self).__init__() scope = Scope.get_instance() self.config_manager = scope.get_configuration_manager() self.event_manager = scope.get_event_manager() self.task_manager = scope.get_task_manager() self.messenger = scope.get_messenger() self.logger = scope.get_logger() self.db_service = scope.get_db_service() self.message_manager = scope.get_message_manager() self.plugin_manager = scope.get_plugin_manager() self.policy_executed = dict() self.event_manager.register_event(MessageType.EXECUTE_SCRIPT.value, self.execute_script) self.event_manager.register_event(MessageType.EXECUTE_TASK.value, self.execute_task) self.event_manager.register_event(MessageType.EXECUTE_POLICY.value, self.execute_policy) self.event_manager.register_event(MessageType.INSTALL_PLUGIN.value, self.install_plugin) self.event_manager.register_event(MessageType.RESPONSE_AGREEMENT.value, self.agreement_update) self.event_manager.register_event( MessageType.UPDATE_SCHEDULED_TASK.value, self.update_scheduled_task)
def __init__(self): # super(TaskManager, self).__init__() scope = Scope.get_instance() self.pluginManager = scope.get_plugin_manager() self.logger = scope.get_logger() self.db_service = scope.get_db_service() self.scheduler = scope.get_scheduler()
def get_logger(self): try: return Scope.get_instance().get_logger() except Exception as e: self.scope.get_logger().error( 'A problem occurred while getting logger. Error Message: {0}'.format(str(e))) return None
def __init__(self, data, context): super(AbstractPlugin, self).__init__() scope = Scope.get_instance() self.data = data self.context = context self.logger = self.get_logger() self.message_code = self.get_message_code()
def __init__(self): super(Logger, self).__init__() scope = Scope.get_instance() config_manger = scope.get_configuration_manager() logging.config.fileConfig(config_manger.get('BASE', 'logConfigurationFilePath')) self.logger = logging.getLogger()
def update_scheduled_task(self, arg): self.logger.debug('Working on scheduled task ...') update_scheduled_json = json.loads(arg) scheduler = Scope.get_instance().get_scheduler() if str(update_scheduled_json['cronExpression']).lower( ) == 'none' or update_scheduled_json['cronExpression'] is None: self.logger.debug('Scheduled task will be removed') scheduler.remove_job(int(update_scheduled_json['taskId'])) self.logger.debug('Task removed from scheduled database') self.db_service.update( 'task', ['deleted'], ['True'], 'id={0}'.format(update_scheduled_json['taskId'])) self.logger.debug('Task table updated.') else: self.logger.debug( 'Scheduled task cron expression will be updated.') self.db_service.update( 'task', ['cron_expr'], [str(update_scheduled_json['cronExpression'])], 'id={0}'.format(update_scheduled_json['taskId'])) self.logger.debug('Task table updated.') scheduler.remove_job(str(update_scheduled_json['taskId'])) self.logger.debug('Previous scheduled task removed.') scheduler.add_job( ScheduleTaskJob( self.get_task_bean_by_id(update_scheduled_json['taskId']))) self.logger.debug('New scheduled task added')
def __init__(self): # super(TaskManager, self).__init__() scope = Scope.get_instance() self.pluginManager = scope.get_plugin_manager() self.logger = scope.get_logger() self.db_service = scope.get_db_service() self.scheduler = scope.get_scheduler()
def get_logger(self): try: return Scope.get_instance().get_logger() except Exception as e: self.scope.get_logger().error( 'A problem occurred while getting logger. Error Message: {0}'. format(str(e))) return None
def init_message_response_queue(): """ docstring""" self.logger.debug('init_message_response_queue1') response_queue = queue.Queue() self.logger.debug('init_message_response_queue2') message_response_queue = MessageResponseQueue(response_queue) self.logger.debug('init_message_response_queue3') message_response_queue.setDaemon(True) self.logger.debug('init_message_response_queue4') message_response_queue.start() self.logger.debug('init_message_response_queue5') Scope.get_instance().set_response_queue(response_queue) return response_queue
def __init__(self): super(Logger, self).__init__() scope = Scope.get_instance() config_manger = scope.get_configuration_manager() logging.config.fileConfig( config_manger.get('BASE', 'logConfigurationFilePath')) self.logger = logging.getLogger()
def __init__(self): scope = Scope.get_instance() self.logger = scope.get_logger() self.configurationManager = scope.get_configuration_manager() self.db_path = self.configurationManager.get('BASE', 'dbPath') self.connection = None self.cursor = None self.lock = threading.Lock()
def is_registered(self): try: registration = Scope.get_instance().get_registration() if registration.is_registered() is False: self.registration_failed() except Exception as e: self.registration_failed() self.logger.error('Registration failed. Error message: {0}'.format(str(e)))
def __init__(self): scope = Scope.get_instance() self.logger = scope.get_logger() self.configurationManager = scope.get_configuration_manager() self.db_path = self.configurationManager.get('BASE', 'dbPath') self.connection = None self.cursor = None self.lock = threading.Lock()
def __init__(self, name, in_ueue): threading.Thread.__init__(self) self.name = name self.in_queue = in_ueue scope = Scope.get_instance() self.logger = scope.get_logger() self.response_queue = scope.get_response_queue() self.messaging = scope.get_message_manager() self.db_service = scope.get_db_service() self.keep_run = True self.context = Context()
def __init__(self, name, in_ueue): threading.Thread.__init__(self) self.name = name self.in_queue = in_ueue scope = Scope.get_instance() self.logger = scope.get_logger() self.response_queue = scope.get_response_queue() self.messaging = scope.get_message_manager() self.db_service = scope.get_db_service() self.keep_run = True self.context = Context()
def unregister(self, msg): j = json.loads(msg) status = str(j['status']).lower() directory_server = str(j['directoryServer']) # user_name = self.db_service.select_one_result('session', 'username', " 1=1 order by id desc ") # display = self.db_service.select_one_result('session', 'display', " 1=1 order by id desc ") if 'not_authorized' == str(status): self.logger.info('UnRegistration is failed. User not authorized') if self.unregister_user_name is None: #user_name = os.getlogin() #display = Util.get_username_display() user_name = self.db_service.select_one_result( 'session', 'username', " 1=1 order by id desc ") display = self.db_service.select_one_result( 'session', 'display', " 1=1 order by id desc ") Util.show_message( user_name, display, 'Ahenk Lider MYS sisteminden çıkarmak için yetkili kullanıcı haklarına sahip olmanız gerekmektedir.', 'Kullanıcı Yetkilendirme Hatası') else: if self.unregister_user_name is None: #user_name = os.getlogin() #display = Util.get_username_display() user_name = self.db_service.select_one_result( 'session', 'username', " 1=1 order by id desc ") display = self.db_service.select_one_result( 'session', 'display', " 1=1 order by id desc ") Util.show_message( user_name, display, "Ahenk Lider MYS sisteminden çıkarılmıştır.", "") if Util.show_message( user_name, display, "Değişikliklerin etkili olması için sistem yeniden başlatılacaktır. Lütfen bekleyiniz...", ""): registration = Scope.get_instance().get_registration() registration.purge_and_unregister(directory_server) else: registration = Scope.get_instance().get_registration() registration.purge_and_unregister(directory_server)
def execute(command, stdin=None, env=None, cwd=None, shell=True, result=True, as_user=None, ip=None): try: if ip: command = 'ssh root@{0} "{1}"'.format(ip, command) Scope.get_instance().get_logger().debug('Executing command: ' + str(command)) elif as_user: command = 'su - {0} -c "{1}"'.format(as_user, command) Scope.get_instance().get_logger().debug('Executing command: ' + str(command)) process = subprocess.Popen(command, stdin=stdin, env=env, cwd=cwd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, shell=shell) if result is True: result_code = process.wait() p_out = process.stdout.read().decode("unicode_escape") p_err = process.stderr.read().decode("unicode_escape") return result_code, p_out, p_err else: return None, None, None except Exception as e: return 1, 'Could not execute command: {0}. Error Message: {1}'.format( command, str(e)), ''
def disable_local_users(self): self.logger.info('Local users disable action start..') conf_manager = Scope.get_instance().get_configuration_manager() if conf_manager.has_section('MACHINE'): user_disabled = conf_manager.get("MACHINE", "user_disabled") self.logger.info('User disabled value=' + str(user_disabled)) if user_disabled == '0': self.logger.info('local user disabling') Scope.get_instance().get_registration().disable_local_users() conf_manager.set('MACHINE', 'user_disabled', '1') with open('/etc/ahenk/ahenk.conf', 'w') as configfile: self.logger.info('oepning config file ') conf_manager.write(configfile) user_disabled = conf_manager.get("MACHINE", "user_disabled") self.logger.info('User succesfully disabled value=' + str(user_disabled)) else: self.logger.info('users already disabled')
def __init__(self): super(PluginManager, self).__init__() self.scope = Scope.get_instance() self.config_manager = self.scope.get_configuration_manager() self.db_service = self.scope.get_db_service() self.message_manager = self.scope.get_message_manager() self.logger = self.scope.get_logger() self.plugins = [] self.plugin_queue_dict = dict() # self.listener = \ self.install_listener() self.delayed_profiles = dict() self.delayed_tasks = dict()
def __init__(self): super(PluginManager, self).__init__() self.scope = Scope.get_instance() self.config_manager = self.scope.get_configuration_manager() self.db_service = self.scope.get_db_service() self.message_manager = self.scope.get_message_manager() self.logger = self.scope.get_logger() self.plugins = [] self.plugin_queue_dict = dict() # self.listener = \ self.install_listener() self.delayed_profiles = dict() self.delayed_tasks = dict()
def __init__(self, name, in_ueue): threading.Thread.__init__(self) self.name = name self.in_queue = in_ueue scope = Scope.get_instance() self.logger = scope.get_logger() self.response_queue = scope.get_response_queue() self.messaging = scope.get_message_manager() self.db_service = scope.get_db_service() self.configurationManager = scope.get_configuration_manager() self.is_user_notify_active = self.configurationManager.get('MACHINE', 'agreement') self.keep_run = True self.context = Context()
def check_registration(self): """ docstring""" max_attempt_number = int(System.Hardware.Network.interface_size()) * 3 # self.logger.debug() # logger = Scope.getInstance().getLogger() registration = Scope.get_instance().get_registration() try: while registration.is_registered() is False: max_attempt_number -= 1 self.logger.debug('Ahenk is not registered. Attempting for registration') registration.registration_request() if max_attempt_number < 0: self.logger.warning('Number of Attempting for registration is over') self.registration_failed() break except Exception as e: self.logger.error('Registration failed. Error message: {0}'.format(str(e)))
def __init__(self): super(ExecutionManager, self).__init__() scope = Scope.get_instance() self.config_manager = scope.get_configuration_manager() self.event_manager = scope.get_event_manager() self.task_manager = scope.get_task_manager() self.messenger = scope.get_messenger() self.logger = scope.get_logger() self.db_service = scope.get_db_service() self.message_manager = scope.get_message_manager() self.plugin_manager = scope.get_plugin_manager() self.policy_executed = dict() self.event_manager.register_event(MessageType.EXECUTE_SCRIPT.value, self.execute_script) self.event_manager.register_event(MessageType.EXECUTE_TASK.value, self.execute_task) self.event_manager.register_event(MessageType.EXECUTE_POLICY.value, self.execute_policy) self.event_manager.register_event(MessageType.INSTALL_PLUGIN.value, self.install_plugin) self.event_manager.register_event(MessageType.RESPONSE_AGREEMENT.value, self.agreement_update) self.event_manager.register_event(MessageType.UPDATE_SCHEDULED_TASK.value, self.update_scheduled_task)
def handle_task(self): try: dn = self.data['dn'] directory_server = self.data['directory_server'] registration = Scope.get_instance().get_registration() registration.purge_and_unregister(directory_server) self.context.create_response( code=self.message_code.TASK_PROCESSED.value, message='Ahenk başarı ile silindi.', data=json.dumps({'Dn': dn}), content_type=ContentType.APPLICATION_JSON.value) except Exception as e: self.logger.error(" error on handle deleting agent. Error: " + str(e)) self.context.create_response( code=self.message_code.TASK_ERROR.value, message='Ahenk silinirken hata olustu' + str(e), content_type=ContentType.APPLICATION_JSON.value)
def __init__(self, task): scope = Scope.get_instance() self.logger = scope.get_logger() self.task_manager = scope.get_task_manager() self.plugin_manager = scope.get_plugin_manager() self.task = task cron_sj = self.parse_cron_str(task.get_cron_str()) try: if cron_sj: self.mins = self.conv_to_set(cron_sj[0]) self.hours = self.conv_to_set(cron_sj[1]) self.days = self.conv_to_set(cron_sj[2]) self.months = self.conv_to_set(cron_sj[3]) self.dow = self.conv_to_set(cron_sj[4]) self.action = self.process_task self.logger.debug('Instance created.') except Exception as e: self.logger.error( 'A problem occurred while creating instance of ScheduleTaskJob. Error Message : {0}' .format(str(e)))
def __init__(self, task): scope = Scope.get_instance() self.logger = scope.get_logger() self.task_manager = scope.get_task_manager() self.plugin_manager = scope.get_plugin_manager() self.task = task cron_sj = self.parse_cron_str(task.get_cron_str()) try: if cron_sj: self.mins = self.conv_to_set(cron_sj[0]) self.hours = self.conv_to_set(cron_sj[1]) self.days = self.conv_to_set(cron_sj[2]) self.months = self.conv_to_set(cron_sj[3]) self.dow = self.conv_to_set(cron_sj[4]) self.action = self.process_task self.logger.debug('Instance created.') except Exception as e: self.logger.error( 'A problem occurred while creating instance of ScheduleTaskJob. Error Message : {0}'.format( str(e)))
def check_registration(self): """ docstring""" max_attempt_number = int(System.Hardware.Network.interface_size()) * 3 # self.logger.debug() # logger = Scope.getInstance().getLogger() registration = Scope.get_instance().get_registration() try: while registration.is_registered() is False: max_attempt_number -= 1 self.logger.debug( 'Ahenk is not registered. Attempting for registration') registration.registration_request() if max_attempt_number < 0: self.logger.warning( 'Number of Attempting for registration is over') self.registration_failed() break except Exception as e: self.logger.error('Registration failed. Error message: {0}'.format( str(e)))
def update_scheduled_task(self, arg): self.logger.debug('Working on scheduled task ...') update_scheduled_json = json.loads(arg) scheduler = Scope.get_instance().get_scheduler() if str(update_scheduled_json['cronExpression']).lower() == 'none' or update_scheduled_json[ 'cronExpression'] is None: self.logger.debug('Scheduled task will be removed') scheduler.remove_job(int(update_scheduled_json['taskId'])) self.logger.debug('Task removed from scheduled database') self.db_service.update('task', ['deleted'], ['True'], 'id={0}'.format(update_scheduled_json['taskId'])) self.logger.debug('Task table updated.') else: self.logger.debug('Scheduled task cron expression will be updated.') self.db_service.update('task', ['cron_expr'], [str(update_scheduled_json['cronExpression'])], 'id={0}'.format(update_scheduled_json['taskId'])) self.logger.debug('Task table updated.') scheduler.remove_job(str(update_scheduled_json['taskId'])) self.logger.debug('Previous scheduled task removed.') scheduler.add_job(ScheduleTaskJob(self.get_task_bean_by_id(update_scheduled_json['taskId']))) self.logger.debug('New scheduled task added')
def __init__(self): scope = Scope.get_instance() self.logger = scope.get_logger() self.db_service = scope.get_db_service()
def init_execution_manager(): """ docstring""" execution_manager = ExecutionManager() Scope.get_instance().set_execution_manager(execution_manager) return execution_manager
def __init__(self, task): super(TaskJob, self).__init__() scope = Scope.get_instance() self.task = task self.pluginManager = scope.get_plugin_manager()
def init_event_manager(): """ docstring""" event_manager = EventManager() Scope.get_instance().set_event_manager(event_manager) return event_manager
def handle_task(profile_data, context): Scope.get_instance().get_logger().error('Handle function not found')
def __init__(self): super(AbstractPlugin, self).__init__() self.scope = Scope.get_instance()
def init_config_manager(config_file_path, configfile_folder_path): """ docstring""" config_manager = ConfigManager(config_file_path, configfile_folder_path) config = config_manager.read() Scope.get_instance().set_configuration_manager(config) return config
def init_logger(): """ docstring""" logger = Logger() logger.info('Log was set') Scope.get_instance().set_logger(logger) return logger
def init_messaging(): """ docstring""" message_manager = Messaging() Scope.get_instance().set_message_manager(message_manager) return message_manager
def reload_plugins(): """ docstring""" Scope.get_instance().get_plugin_manager().reloadPlugins()
def init_messenger(): """ docstring""" messenger_ = Messenger() messenger_.connect_to_server() Scope.get_instance().set_messenger(messenger_) return messenger_
def init_registration(): """ docstring""" registration = Registration() Scope.get_instance().set_registration(registration) return registration
def init_task_manager(): """ docstring""" task_manager = TaskManager() Scope.get_instance().set_task_manager(task_manager) return task_manager
def __init__(self, outQueue): super(MessageResponseQueue, self).__init__() scope = Scope.get_instance() self.logger = scope.get_logger() self.messageManager = scope.get_messenger() self.outQueue = outQueue
def __init__(self): self.events = [] self.keep_run = True self.logger = Scope.get_instance().get_logger() self.scheduledb = ScheduleTaskDB()