コード例 #1
0
ファイル: rqueue.py プロジェクト: Masutangu/Elric
 def submit_job(self, func, job_key, args=None, kwargs=None, trigger=None, job_id=None,
                replace_exist=False, need_filter=False, **trigger_args):
     """
         submit job to master through redis queue
         :type func: str or callable obj or unicode
         :type job_key: str or unicode
         :type args: tuple or list
         :type kwargs: dict
         :type trigger: str or unicode
         :type job_id: str or unicode
         :type replace_exist: bool
         :type trigger_args: dict
     """
     # use worker's timezone if trigger don't provide specific `timezone` configuration
     trigger_args['timezone'] = self.timezone
     job_in_dict = {
         'id': "%s:%s" % (self.name, job_id) if job_id else None,
         'func': func,
         'args': args,
         'trigger': create_trigger(trigger, trigger_args) if trigger else None,
         'kwargs': kwargs,
         'job_key': '%s:%s' % (self.name, job_key),
         'need_filter': need_filter,
         'replace_exist': replace_exist
     }
     job = Job(**job_in_dict)
     job.check()
     self.jobqueue.enqueue('__elric_submit_channel__', job.serialize())
コード例 #2
0
ファイル: rqueue.py プロジェクト: Masutangu/Elric
 def finish_job(self, job_id, is_success, details, job_key, need_filter):
     job_in_dict = {
         'id': job_id,
         'job_key': job_key,
         'is_success': is_success,
         'details': details,
         'need_filter': need_filter
     }
     job = Job(**job_in_dict)
     self.jobqueue.enqueue('__elric_finish_channel__', job.serialize())
コード例 #3
0
ファイル: rqueue.py プロジェクト: Masutangu/Elric
 def remove_job(self, job_id):
     """
         send remove job request to master through redis queue
         :type job_id: str
     """
     job_in_dict = {
         'id': "%s:%s" % (self.name, job_id)
     }
     job = Job(**job_in_dict)
     self.jobqueue.enqueue('__elric_remove_channel__', job.serialize())