예제 #1
0
 def _add_daily_job(self, user):
     job_id = self._generate_job_id(user.id, self.DAILY)
     params = {'hour': random.randint(0, 23),
               'minute': random.randint(0, 59)}
     self.add_job(self._daily_task, job_id, trigger_type='cron',
                  params=params)
     # Save job to database
     job = {'id': job_id,
            'job_type': self.DAILY,
            'engine_id': self.engine_id,
            'parameters': params}
     db_api.job_create(self.context, job)
     return True
예제 #2
0
 def _add_freeze_job(self, user):
     if not user.rate:
         return False
     total_seconds = user.balance / user.rate
     run_date = timeutils.utcnow() + timedelta(seconds=total_seconds)
     job_params = {'run_date': run_date}
     job_id = self._generate_job_id(user.id, self.FREEZE)
     self.add_job(self._freeze_task, job_id, params=job_params)
     # Save job to database
     job = {'id': job_id,
            'job_type': self.FREEZE,
            'engine_id': self.engine_id,
            'parameters': {'run_date': run_date}}
     db_api.job_create(self.context, job)
     return True
예제 #3
0
 def _add_freeze_job(self, user):
     if user.rate == 0:
         return False
     total_seconds = float(user.balance / user.rate)
     run_date = timeutils.utcnow() + timedelta(seconds=total_seconds)
     job_params = {'run_date': run_date}
     job_id = self._generate_job_id(user.id, self.FREEZE)
     self._add_job(job_id, self.FREEZE, **job_params)
     # Save job to database
     job = {'id': job_id,
            'job_type': self.FREEZE,
            'scheduler_id': self.scheduler_id,
            'parameters': {'run_date': utils.format_time(run_date)}}
     admin_context = bilean_context.get_admin_context()
     db_api.job_create(admin_context, job)
     return True
예제 #4
0
 def _add_notify_job(self, user):
     if not user.rate:
         return False
     total_seconds = user['balance'] / user['rate']
     prior_notify_time = cfg.CONF.bilean_task.prior_notify_time * 3600
     notify_seconds = total_seconds - prior_notify_time
     notify_seconds = notify_seconds if notify_seconds > 0 else 0
     run_date = timeutils.utcnow() + timedelta(seconds=notify_seconds)
     job_params = {'run_date': run_date}
     job_id = self._generate_job_id(user['id'], self.NOTIFY)
     self.add_job(self._notify_task, job_id, params=job_params)
     # Save job to database
     job = {'id': job_id,
            'job_type': self.NOTIFY,
            'engine_id': self.engine_id,
            'parameters': {'run_date': run_date}}
     db_api.job_create(self.context, job)
예제 #5
0
 def _add_notify_job(self, user):
     if user.rate == 0:
         return False
     total_seconds = float(user.balance / user.rate)
     prior_notify_time = cfg.CONF.scheduler.prior_notify_time * 3600
     notify_seconds = total_seconds - prior_notify_time
     notify_seconds = notify_seconds if notify_seconds > 0 else 0
     run_date = timeutils.utcnow() + timedelta(seconds=notify_seconds)
     job_params = {'run_date': run_date}
     job_id = self._generate_job_id(user.id, self.NOTIFY)
     self._add_job(job_id, self.NOTIFY, **job_params)
     # Save job to database
     job = {'id': job_id,
            'job_type': self.NOTIFY,
            'scheduler_id': self.scheduler_id,
            'parameters': {'run_date': utils.format_time(run_date)}}
     admin_context = bilean_context.get_admin_context()
     db_api.job_create(admin_context, job)