Esempio n. 1
0
    def one_execute():
        try:
            if scheduler.is_include(package_name):
                if scheduler.is_running(package_name):
                    ret = 'is_running'
                else:
                    scheduler.execute_job(package_name)
                    ret = 'scheduler'
            else:

                def func():
                    time.sleep(2)
                    Logic.scheduler_function()
                    Logic.job_thread = None

                if Logic.job_thread is None:
                    Logic.job_thread = threading.Thread(target=func, args=())
                    Logic.job_thread.start()
                    ret = 'thread'
                else:
                    ret = 'is_running'
        except Exception as e:
            logger.error('Exception:%s', e)
            logger.error(traceback.format_exc())
            ret = 'fail'
        return ret
 def invoke(self):
     try:
         logger.debug('invoke')
         telegram_invoke_action = ModelSetting.get('telegram_invoke_action')
         if telegram_invoke_action == '0':
             return False
         elif telegram_invoke_action == '1':
             if scheduler.is_include(package_name):
                 if scheduler.is_running(package_name):
                     return False
                 else:
                     scheduler.execute_job(package_name)
                     return True
         elif telegram_invoke_action == '2':
             P.logic.one_execute(self.name)
             return True
         else:
             return False
     except Exception, e:
         logger.error('Exception:%s', e)
         logger.error(traceback.format_exc())
Esempio n. 3
0
 def one_execute(sub):
     logger.debug('one_execute :%s', sub)
     try:
         job_id = '%s_%s' % (package_name, sub)
         if scheduler.is_include(job_id):
             if scheduler.is_running(job_id):
                 ret = 'is_running'
             else:
                 scheduler.execute_job(job_id)
                 ret = 'scheduler'
         else:
             def func():
                 time.sleep(2)
                 Logic.scheduler_function(sub)
             threading.Thread(target=func, args=()).start()
             ret = 'thread'
     except Exception as e: 
         logger.error('Exception:%s', e)
         logger.error(traceback.format_exc())
         ret = 'fail'
     return ret
Esempio n. 4
0
    def one_execute_sub(self, module_name, sub_name):
        try:
            job_id = f'{self.P.package_name}_{module_name}_{sub_name}'
            if scheduler.is_include(job_id):
                if scheduler.is_running(job_id):
                    ret = 'is_running'
                else:
                    scheduler.execute_job(job_id)
                    ret = 'scheduler'
            else:

                def func():
                    time.sleep(2)
                    self.scheduler_function_sub(module_name, sub_name)

                threading.Thread(target=func, args=()).start()
                ret = 'thread'
        except Exception as exception:
            self.P.logger.error('Exception:%s', exception)
            self.P.logger.error(traceback.format_exc())
            ret = 'fail'
        return ret
Esempio n. 5
0
 def one_execute(self, idx):
     try:
         job_id = f'{package_name}_periodic_{idx}'
         if scheduler.is_include(job_id):
             if scheduler.is_running(job_id):
                 ret = 'is_running'
             else:
                 scheduler.execute_job(job_id)
                 ret = 'scheduler'
         else:
             def func():
                 time.sleep(2)
                 self.job_function(idx)
             t = threading.Thread(target=func, args=())
             t.daemon = True
             t.start()
             ret = 'thread'
     except Exception as e: 
         logger.error('Exception:%s', e)
         logger.error(traceback.format_exc())
         ret = 'fail'
     return ret
Esempio n. 6
0
 def process_download_file0():
     try:
         if app.config['config']['use_celery']:
             result = Logic.process_download_file.apply_async()
             try:
                 flag_rclone_start = result.get(
                     on_message=Logic.for_synoindex, propagate=True)
                 if flag_rclone_start:
                     scheduler.execute_job('rclone')
             except:
                 logger.debug(
                     'CELERY on_message not process.. only get() start')
                 try:
                     flag_rclone_start = result.get()
                     if flag_rclone_start:
                         scheduler.execute_job('rclone')
                 except:
                     pass
             #logger.debug('CELERY ktv end.. rclone_start : %s', flag_rclone_start)
         else:
             # 2021-05-18 bind=True
             Logic.process_download_file(None)
         # 2020-08-08
         if Logic.plex_update_list:
             logger.debug('>> len plex_update_list : %s',
                          len(Logic.plex_update_list))
             for item in Logic.plex_update_list:
                 try:
                     db.session.add(item)
                 except Exception as exception:
                     logger.error('Exception:%s', exception)
                     logger.error(traceback.format_exc())
             db.session.commit()
             Logic.plex_update_list = []
     except Exception as exception:
         logger.error('Exception:%s', exception)
         logger.error(traceback.format_exc())
Esempio n. 7
0
 def one_execute(sub=None):
     logger.debug(sub)
     try:
         tmp = '%s_%s' % (package_name, sub)
         if scheduler.is_include(tmp):
             if scheduler.is_running(tmp):
                 ret = 'is_running'
             else:
                 scheduler.execute_job(tmp)
                 ret = 'scheduler'
         else:
             def func():
                 time.sleep(2)
                 if sub == 'rss':
                     LogicRss.scheduler_function()
                 elif sub == 'cache':
                     LogicCache.scheduler_function()
             threading.Thread(target=func, args=()).start()
             ret = 'thread'
     except Exception as e: 
         logger.error('Exception:%s', e)
         logger.error(traceback.format_exc())
         ret = 'fail'
     return ret