def send_mailing_in_waiting(http_root_address): '''Mailing''' msg_list = Message.objects.filter(status=2) if len(msg_list) == 0: LucteriosScheduler.remove(send_mailing_in_waiting) else: for msg_item in msg_list: msg_item.sendemail(Params.getvalue('mailing-nb-by-batch'), http_root_address)
def run_simple_action(timetxt): """Run simple action""" if timetxt is None: Parameter.change_value('dummy-value', '') Params.clear() else: value = Params.getvalue('dummy-value') size = len(value.split('{[br/]}')) if size >= 5: LucteriosScheduler.remove(run_simple_action) LucteriosScheduler.add_date(run_simple_action, datetime=datetime.now() + timedelta(seconds=20), timetxt=None) else: value += timetxt + "{[br/]}" Parameter.change_value('dummy-value', value) Params.clear()
def fill_tasks(self): self.new_tab(_('Tasks')) grid = XferCompGrid('tasks') grid.no_pager = True grid.add_header('name', _('name')) grid.add_header('trigger', _('trigger')) grid.add_header('nextdate', _('next date'), 'datetime') for job_desc in LucteriosScheduler.get_list(): grid.set_value(job_desc[0], 'name', job_desc[1]) grid.set_value(job_desc[0], 'trigger', '%s' % job_desc[2]) grid.set_value(job_desc[0], 'nextdate', job_desc[3]) grid.set_location(0, self.get_max_row() + 1, 2) grid.set_size(200, 500) self.add_component(grid)
def fillresponse(self): XferListEditor.fillresponse(self) self.new_tab(_('Tasks')) grid = XferCompGrid('tasks') grid.no_pager = True grid.add_header('name', _('name')) grid.add_header('trigger', _('trigger')) grid.add_header('nextdate', _('next date'), 'datetime') for job_desc in LucteriosScheduler.get_list(): grid.set_value(job_desc[0], 'name', job_desc[1]) grid.set_value(job_desc[0], 'trigger', '%s' % job_desc[2]) grid.set_value(job_desc[0], 'nextdate', job_desc[3]) grid.set_location(0, self.get_max_row() + 1, 2) grid.set_size(200, 500) self.add_component(grid)
def fillresponse(self): Parameter.change_value('dummy-value', '') Params.clear() LucteriosScheduler.add_task(run_simple_action, minutes=1.0 / 6, timetxt=datetime.now().ctime())
def add_mailing_in_scheduler(check_nb=True, http_root_address=""): if not check_nb or (Message.objects.filter(status=2).count() > 0): LucteriosScheduler.add_task( send_mailing_in_waiting, minutes=Params.getvalue('mailing-delay-batch'), http_root_address=http_root_address)