Example #1
0
def quit(signal,SIGINT):
    """
    CTRL+C退出程序,执行清理操作
    """
    from django_apscheduler.jobstores import DjangoJobStore
    print('stop fusion')
    djs = DjangoJobStore()
    djs.remove_all_jobs()
    sys.exit()
Example #2
0
    def __init__(self, model, admin_site):
        super().__init__(model, admin_site)

        self._django_jobstore = DjangoJobStore()
        self._memory_jobstore = DjangoMemoryJobStore()

        self._jobs_executed = []
        self._job_execution_timeout = getattr(
            settings, "APSCHEDULER_RUN_NOW_TIMEOUT", 15
        )
Example #3
0
    def handle(self, *args, **options):
        scheduler = BackgroundScheduler(timezone=settings.TIME_ZONE)
        scheduler.add_jobstore(DjangoJobStore(), "default")

        scheduler.add_job(fetch_tweets,
                          trigger=CronTrigger(hour='*/3'),
                          id="fetch_tweets",
                          max_instances=1,
                          replace_existing=True)
        logger.info("Added job 'fetch_tweets'.")

        scheduler.add_job(delete_old_job_executions,
                          trigger=CronTrigger(day_of_week="mon",
                                              hour="00",
                                              minute="00"),
                          id="delete_old_job_executions",
                          max_instances=1,
                          replace_existing=True)
        logger.info("Added weekly job: 'delete_old_job_executions'.")
        try:
            logger.info("Starting scheduler...")
            scheduler.start()
        except KeyboardInterrupt:
            logger.info("Stopping scheduler...")
            scheduler.shutdown()
            logger.info("Scheduler shut down successfully!")
Example #4
0
    def handle(self, *args, **options):
        scheduler.add_jobstore(DjangoJobStore(), 'default')
        scheduler.add_listener(listener, EVENT_JOB_EXECUTED | EVENT_JOB_ERROR)

        scheduler.add_job(
            check_token,
            trigger=CronTrigger(second='*/20'),
            id='check_token',
            max_instances=1,
            replace_existing=True,
            next_run_time=datetime.now(),
        )
        logger.info("Added job 'check_token'")

        scheduler.add_job(
            delete_old_job_executions,
            trigger=CronTrigger(day_of_week="mon", hour="00", minute="00"),
            id='delete_old_job_executions',
            max_instances=1,
            replace_existing=True,
        )
        logger.info("Added weekly job 'delete_old_job_executions'.")

        try:
            logger.info('Starting scheduler...')
            scheduler.start()

        except KeyboardInterrupt:
            logger.info('Stopping scheduler...')
            scheduler.shutdown()
            logger.info('Scheduler shut down successfully.')
Example #5
0
    def handle(self, *args, **options):
        scheduler = BlockingScheduler(timezone=settings.TIME_ZONE)
        scheduler.add_jobstore(DjangoJobStore(), "default")

        # Каждую неделю будут удаляться старые задачи, которые либо не удалось выполнить, либо уже выполнять не надо.
        scheduler.add_job(
            delete_old_job_executions,
            trigger=CronTrigger(day_of_week="mon", hour="00", minute="00"),
            id="delete_old_job_executions",
            max_instances=1,
            replace_existing=True,
        )
        logger.info("Added weekly job: 'delete_old_job_executions'.")

        scheduler.add_job(
            weekly_mailing_subscribers,
            # Каждую неделю в понедельник в 08.00 подписчикам рассылаются письма с недельными новостями
            trigger=CronTrigger(day_of_week="mon", hour="08", minute="00"),
            id="weekly_mailing_subscribers",
            max_instances=1,
            replace_existing=True,
        )
        logger.info("Added weekly job: 'weekly_mailing_subscribers'.")
        try:
            logger.info("Starting scheduler...")
            scheduler.start()
        except KeyboardInterrupt:
            logger.info("Stopping scheduler...")
            scheduler.shutdown()
            logger.info("Scheduler shut down successfully!")
Example #6
0
    def handle(self, *args, **options):
        scheduler = BlockingScheduler(timezone=settings.TIME_ZONE)
        scheduler.add_jobstore(DjangoJobStore(), "default")

        # добавляем работу нашему задачнику
        scheduler.add_job(
            weekly_newsletter_to_subscribers,
            trigger=CronTrigger(day_of_week='mon', hour="08", minute="30"),
            id="weekly_newsletter_to_subscribers",  # уникальный айди
            max_instances=1,
            replace_existing=True,
        )
        logger.info("Added job 'weekly_newsletter_to_subscribers'.")

        scheduler.add_job(
            delete_old_weekly_newsletter_to_subscribers(),
            trigger=CronTrigger(
                day_of_week="tue", hour="00", minute="00"
            ),
            # Каждую неделю будут удаляться старые задачи, которые либо не удалось выполнить, либо уже выполнять не надо.
            id="delete_old_weekly_newsletter_to_subscribers(",
            max_instances=1,
            replace_existing=True,
        )
        logger.info(
            "Added weekly job: 'delete_old_weekly_newsletter_to_subscribers'."
        )

        try:
            logger.info("Starting scheduler...")
            scheduler.start()
        except KeyboardInterrupt:
            logger.info("Stopping scheduler...")
            scheduler.shutdown()
            logger.info("Scheduler shut down successfully!")
Example #7
0
    def handle(self, *args, **options):
        scheduler = BlockingScheduler(timezone=settings.TIME_ZONE)
        scheduler.add_jobstore(DjangoJobStore(), 'default')
        
        scheduler.add_job(
            Database.update,
            trigger=CronTrigger(hour='*'),  # Every hour
            id='Database Update',
            max_instances=1,
            replace_existing=True,
        )
        logger.info('Added job \'Database Update\'.')

        scheduler.add_job(
            delete_old_job_executions,
            trigger=CronTrigger(
                day_of_week='mon', hour='00', minute='00'
            ),  # Midnight on Monday, before start of the next work week.
            id='Delete Old Job Executions',
            max_instances=1,
            replace_existing=True,
        )
        logger.info(
            'Added weekly job: \'delete_old_job_executions\'.'
        )

        try:
            logger.info('Starting scheduler...')
            scheduler.start()
        except KeyboardInterrupt:
            logger.info('Stopping scheduler...')
            scheduler.shutdown()
            logger.info('Scheduler shut down successfully!')
Example #8
0
def start():
    scheduler = BackgroundScheduler()
    scheduler.add_jobstore(DjangoJobStore(), "default")
    #test
    scheduler.add_job(update_rankings, 'interval', hours=48)
    register_events(scheduler)
    scheduler.start()
Example #9
0
    def handle(self, *args, **options):
        scheduler = BackgroundScheduler()
        scheduler.add_jobstore(DjangoJobStore(), "default")
        # run this job every 24 hours
        scheduler.add_job(main(),
                          trigger=CronTrigger(hour="24"),  # every 24 hours
                          id="my_job",
                          jobstore='default',
                          replace_existing=True, )
        print("Added job 'my_job'.")

        scheduler.add_job(
            delete_old_job_executions,
            trigger=CronTrigger(
                day_of_week="mon", hour="00", minute="00"
            ),  # Midnight on Monday, before start of the next work week.
            id="delete_old_job_executions",
            max_instances=1,
            replace_existing=True,
        )
        print(
            "Added weekly job: 'delete_old_job_executions'."
        )
        try:
            print("Starting scheduler...")
            scheduler.start()
        except KeyboardInterrupt:
            print("Stopping scheduler...")
            scheduler.shutdown()
            print("Scheduler shut down successfully!")
Example #10
0
    def handle(self, *args, **options):
        scheduler = BlockingScheduler(timezone=settings.TIME_ZONE)
        scheduler.add_jobstore(DjangoJobStore(), 'default')

        scheduler.add_job(
            update_exporters,
            trigger=CronTrigger(hour='23', minute='50'),
            id='update_exporters',
            max_instances=1,
            replace_existing=True,
        )
        logger.info("Added job 'update_exporters'.")

        scheduler.add_job(
            delete_old_job_executions,
            trigger=CronTrigger(day_of_week="mon", hour="00", minute="00"),
            id='delete_old_job_executions',
            max_instances=1,
            replace_existing=True,
        )
        logger.info("Added weekly job 'delete_old_job_executions'.")

        try:
            logger.info('Starting scheduler...')
            scheduler.start()
        except KeyboardInterrupt:
            logger.info('Stopping scheduler...')
            scheduler.shutdown()
            logger.info('Scheduler shut down successfully.')
Example #11
0
    def test_run_selected_jobs_creates_job_execution_entry(
            self, rf, monkeypatch):
        monkeypatch.setattr(settings, "APSCHEDULER_RUN_NOW_TIMEOUT",
                            1)  # Shorten timeout to reduce test runtime

        scheduler = BackgroundScheduler()
        scheduler.add_jobstore(DjangoJobStore())
        scheduler.start()

        job = scheduler.add_job(print, trigger="interval", seconds=60)

        admin = DjangoJobAdmin(DjangoJob, None)

        r = rf.get("/django_apscheduler/djangojob/")
        # Add support for Django messaging framework
        r._messages = mock.MagicMock(BaseStorage)
        r._messages.add = mock.MagicMock()

        assert not DjangoJobExecution.objects.filter(job_id=job.id).exists()

        admin.run_selected_jobs(r, DjangoJob.objects.filter(id=job.id))

        assert DjangoJobExecution.objects.filter(job_id=job.id).exists()
        r._messages.add.assert_called_with(20, f"Executed job '{job.id}'!", "")

        scheduler.shutdown()
Example #12
0
    def handle(self, *args, **options):
        scheduler = BlockingScheduler(timezone=settings.TIME_ZONE)
        scheduler.add_jobstore(DjangoJobStore(), "default")

        scheduler.add_job(
            requestBoxData,
            trigger=CronTrigger.from_crontab('1 0 * * *'),
            # trigger=CronTrigger(second="*/10"),  # Every 10 seconds
            id="getBox",
            max_instances=1,
            replace_existing=True,
        )

        scheduler.add_job(
            requestBtcData,
            trigger=CronTrigger.from_crontab('1 0 * * *'),
            id="getBtc",
            max_instances=1,
            replace_existing=True,
        )

        # scheduler.add_job(requestBtcData, CronTrigger.from_crontab('8 8 * * *', timezone='UTC'), id="getBtcData", replace_existing=True,)
        # scheduler.add_job(requestBoxData, CronTrigger.from_crontab('10 16 * * *'), id="getBoxData", replace_existing=True,)

        try:
            logger.info("Starting scheduler...")
            scheduler.start()
        except KeyboardInterrupt:
            logger.info("Stopping scheduler...")
            scheduler.shutdown()
            logger.info("Scheduler shut down successfully!")
Example #13
0
def test_reconnect_on_db_error(transactional_db):

    counter = [0]
    def mocked_execute(self, *a, **k):
        counter[0] += 1

        if counter[0] == 1:
            raise OperationalError()
        else:
            return []

    with mock_compat.patch.object(CursorWrapper, "execute", mocked_execute):
        store = DjangoJobStore()
        # DjangoJob.objects._last_ping = 0

        assert store.get_due_jobs(now=datetime.datetime.now()) == []
Example #14
0
    def handle(seld, *args, **options):
        scheduler = BlockingScheduler(timezone=settings.TIME_ZONE)
        scheduler.add_jobstore(DjangoJobStore(), "default")

        scheduler.add_job(
            send_weekly_digest,
            trigger=CronTrigger(
                day_of_week="mon", hour="00", minute="00"
            ),
            id="send_weekly_digest",
            max_instances=1,
            replace_existing=True,
        )
        logger.info("Added job 'send_weekly_digest'.")

        scheduler.add_job(
            delete_old_job_executions,
            trigger=CronTrigger(
                day_of_week="mon", hour="00", minute="00"
            ),
            id="delete_old_job_executions",
            max_instances=1,
            replace_existing=True,
        )
        logger.info(
            "Added weekly job: 'delete_old_job_executions'."
        )

        try:
            logger.info("Starting scheduler...")
            scheduler.start()
        except KeyboardInterrupt:
            logger.info("Stopping scheduler...")
            scheduler.shutdown()
            logger.info("Scheduler shut down succesfully!")
    def handle(self, *args, **options):
        scheduler = BlockingScheduler(timezone=settings.TIME_ZONE)
        scheduler.add_jobstore(DjangoJobStore(), "default")

        scheduler.add_job(
            posts_senders,
            trigger=CronTrigger(ay_of_week="sun"),
            id="posts_senders",
            max_instances=1,
            replace_existing=True,
        )
        logger.info("Added job 'posts_senders'.")

        scheduler.add_job(
            delete_old_job_executions,
            trigger=CronTrigger(
                day_of_week="mon", hour="00", minute="00"
            ),  # Midnight on Monday, before start of the next work week.
            id="delete_old_job_executions",
            max_instances=1,
            replace_existing=True,
        )
        logger.info(
            "Added weekly job: 'delete_old_job_executions'."
        )

        try:
            logger.info("Starting scheduler...")
            scheduler.start()
        except KeyboardInterrupt:
            logger.info("Stopping scheduler...")
            scheduler.shutdown()
            logger.info("Scheduler shut down successfully!")
Example #16
0
    def test_run_selected_jobs_enforces_timeout(self, rf, monkeypatch):
        monkeypatch.setattr(settings, "APSCHEDULER_RUN_NOW_TIMEOUT",
                            1)  # Shorten timeout to reduce test runtime

        scheduler = BackgroundScheduler()
        scheduler.add_jobstore(DjangoJobStore())
        scheduler.start()

        job = scheduler.add_job(print, trigger="interval", seconds=60)

        admin = DjangoJobAdmin(DjangoJob, None)

        r = rf.get("/django_apscheduler/djangojob/")
        # Add support for Django messaging framework
        r._messages = mock.MagicMock(BaseStorage)
        r._messages.add = mock.MagicMock()

        with mock.patch(
                "django_apscheduler.admin.BackgroundScheduler.add_listener"):
            admin.run_selected_jobs(r, DjangoJob.objects.filter(id=job.id))

        assert DjangoJobExecution.objects.count() == 0
        r._messages.add.assert_called_with(
            40,
            format_html(
                "Maximum runtime of {} seconds exceeded! Not all jobs could be completed successfully. "
                "Pending jobs: {}",
                admin._job_execution_timeout,
                ",".join({job.id}),
            ),
            "",
        )

        scheduler.shutdown()
Example #17
0
    def handle(self, *args, **options):
        scheduler = BlockingScheduler(timezone=settings.TIME_ZONE)
        scheduler.add_jobstore(DjangoJobStore(), "default")

        # добавляем работу нашему задачнику
        scheduler.add_job(
            my_job,
            trigger=CronTrigger(second="*/10"),
            # Тоже самое что и интервал, но задача тригера таким образом более понятна django
            id="my_job",  # уникальный айди
            max_instances=1,
            replace_existing=True,
        )
        logger.info("Added job 'my_job'.")

        scheduler.add_job(
            delete_old_job_executions,
            trigger=CronTrigger(day_of_week="mon", hour="00", minute="00"),
            # Каждую неделю будут удаляться старые задачи, которые либо не удалось выполнить, либо уже выполнять не надо.
            id="delete_old_job_executions",
            max_instances=1,
            replace_existing=True,
        )
        logger.info("Added weekly job: 'delete_old_job_executions'.")

        try:
            logger.info("Starting scheduler...")
            scheduler.start()
        except KeyboardInterrupt:
            logger.info("Stopping scheduler...")
            scheduler.shutdown()
            logger.info("Scheduler shut down successfully!")
    def handle(self, *args, **options):
        scheduler = BlockingScheduler(timezone=settings.TIME_ZONE)
        scheduler.add_jobstore(DjangoJobStore(), "default")

        scheduler.add_job(
            my_job,
            trigger=CronTrigger(second="00"),  # Midnight everyday
            id="my_job",  # The `id` assigned to each job MUST be unique
            max_instances=1,
            replace_existing=True,
        )
        logger.info("Added job 'my_job'.")

        scheduler.add_job(
            delete_old_job_executions,
            trigger=CronTrigger(hour="00", minute="00"),  # Midnight every day
            id="delete_old_job_executions",
            max_instances=1,
            replace_existing=True,
        )
        logger.info("Added weekly job: 'delete_old_job_executions'.")

        try:
            logger.info("Starting scheduler...")
            scheduler.start()
        except KeyboardInterrupt:
            logger.info("Stopping scheduler...")
            scheduler.shutdown()
            logger.info("Scheduler shut down successfully!")
Example #19
0
def save_sync(config):
    try:
        s_config = system_settings.objects.all()[0]
        sync_status.objects.all().delete()
        if int(config.get('config_sync_type')) == 0:
            s_config.config_sync_type = 0
            s_config.config_sync_access_key = None
            s_config.config_sync_master_url = None
            s_config.config_sync_scope = None
            DjangoJobStore().remove_all_jobs()
            sync_status.objects.all().delete()
            scheduler.remove_all_jobs()
        elif int(config.get('config_sync_type')) == 1:
            s_config.config_sync_type = 1
            s_config.config_sync_access_key = str(uuid.uuid4())
            s_config.config_sync_master_url = None
            s_config.config_sync_scope = None
            DjangoJobStore().remove_all_jobs()
            sync_status.objects.all().delete()
            scheduler.add_job(sync, "interval", seconds=60, name="master")
        elif int(config.get('config_sync_type')) == 2:
            if config.get('config_sync_master_api'):
                sync_interval = int(config.get('config_sync_interval', 60))
                s_config.config_sync_type = 2
                s_config.config_sync_master_url = config.get(
                    'config_sync_master_api').strip('/')
                s_config.config_sync_access_key = config.get(
                    'config_sync_access_key')
                s_config.config_sync_interval = sync_interval
                s_config.config_sync_scope = bool(
                    config.get('config_sync_scope', ''))
                DjangoJobStore().remove_all_jobs()
                sync_status.objects.all().delete()
                scheduler.add_job(sync,
                                  "interval",
                                  seconds=sync_interval,
                                  name="slave")
            else:
                return False
        else:
            return False

        s_config.save()
        return True
    except Exception, e:
        logger.error(str(e))
        return False
Example #20
0
def create_scheduler():
    # manage = SchedulerManage()
    scheduler = BackgroundScheduler(daemonic=True)
    scheduler.add_jobstore(DjangoJobStore(), "default")
    date = dt.datetime.now()
    # 报警
    scheduler.add_job(cal_kde_value,
                      "date",
                      run_date=date,
                      id='alarm_proj',
                      args=[],
                      replace_existing=True)
    scheduler.add_job(his_model_update,
                      "date",
                      run_date=date,
                      id='his_model_up',
                      args=[],
                      replace_existing=True)
    scheduler.add_job(seperate_operate_record.main,
                      "date",
                      run_date=date,
                      id='operate_parsing',
                      args=[],
                      replace_existing=True)
    scheduler.add_job(clear_database,
                      'cron',
                      hour='16',
                      minute='04',
                      id='clear_database',
                      replace_existing=True)
    # scheduler.add_job(operate_resolve, "date", run_date=date, id='alarm_proj', args=[], replace_existing=True)
    # scheduler.add_job(seperate_operate_record.main, "interval", minutes=1, id='operate_proj', args=[])
    # scheduler.add_job(time_task, "interval", seconds=5, id='mytask2', args=['mytask2',], replace_existing=True)
    scheduler.add_job(so_run,
                      "interval",
                      minutes=1,
                      id='operate_match',
                      args=[],
                      replace_existing=True)
    # try:
    #     group, int_list, scats_input = get_scats_int()
    # except Exception as e:
    #     logger.error(e)
    #     print(e)
    # else:
    #     logger.info("get scats basic inf successfully!")
    #     scheduler.add_job(thread_creat, "interval", minutes=5, id='scats_salklist', args=[group, int_list, scats_input],
    #                       replace_existing=True)
    #     scheduler.add_job(RequestDynaDataFromInt, "interval", minutes=5, id='scats_volumns', args=[int_list],
    #                       replace_existing=True)
    #     scheduler.add_job(get_operate, "interval", minutes=3, id='scats_operate', args=[],
    #                       replace_existing=True)
    scheduler.start()
    logger.info('start scheduler task')
    print("=======================定时任务启动==========================")
    print(scheduler.get_jobs())
    print(scheduler.state)
    logger.info('start task register,check on admin platform!')
    register_events(scheduler)
Example #21
0
def start():
    scheduler = BackgroundScheduler()
    scheduler.add_jobstore(DjangoJobStore(), "default")
    # run this job every 24 hours
    scheduler.add_job(check_obsolete_orders, 'interval', hours=24, name='clean_orders', jobstore='default', id="check_obsolete_orders", replace_existing=True)
    register_events(scheduler)
    scheduler.start()
    print("Scheduler started...", file=sys.stdout)
Example #22
0
def start():
    scheduler = BackgroundScheduler()
    scheduler.add_jobstore(DjangoJobStore(), "default")
    # run this job every 24 hours
    scheduler.add_job(deactivate_expired_accounts, 'interval', seconds=10, name='clean_accounts', jobstore='default')
    register_events(scheduler)
    scheduler.start()
    print("Scheduler started...", file=sys.stdout)
Example #23
0
def start():
    print("scheduler initializing...")
    scheduler = BackgroundScheduler()
    scheduler.add_jobstore(DjangoJobStore(), "default")
    scheduler.add_job(check_and_send_mail, 'interval', hours=1, name='checking_and_sending_mails', jobstore='default')
    register_events(scheduler)
    scheduler.start()
    print("Scheduler started...", file=sys.stdout)
def start():
    backscheduler = BackgroundScheduler()
    backscheduler.add_jobstore(DjangoJobStore(), "default")
    backscheduler.add_job(scheduleScrape(),
                          trigger="interval",
                          name='scrape_all',
                          seconds=300,
                          jobstore="default")
    backscheduler.start()
Example #25
0
 def __init__(self):
     self.scheduler = BackgroundScheduler(executors=executors,
                                          job_defaults=job_defaults)
     self.jobs = {}
     self.scheduler.add_listener(my_listener,
                                 EVENT_JOB_EXECUTED | EVENT_JOB_ERROR)
     self.scheduler.add_jobstore(DjangoJobStore(), 'djangojobstore')
     self.scheduler.start()
     print(datetime.now())
Example #26
0
def add_sqlcronjob(job_id, run_date, workflowId, url):
    scheduler = BackgroundScheduler()
    scheduler.add_jobstore(DjangoJobStore(), "default")
    scheduler.add_job(execute_job, 'date', run_date=run_date, args=[workflowId, url], id=job_id, replace_existing=True)
    register_events(scheduler)
    try:
        scheduler.start()
    except SchedulerAlreadyRunningError:
        logger.debug("Scheduler is already running!")
    logger.debug('add_sqlcronjob:' + job_id + " run_date:" + run_date.strftime('%Y-%m-%d %H:%M:%S'))
Example #27
0
def start():
    scheduler = BackgroundScheduler()
    scheduler.add_jobstore(DjangoJobStore(), 'djangojobstore')
    register_events(scheduler)

    @scheduler.scheduled_job('cron', minute='*/5', name='auto_mail')
    def auto_mail():
        send_meilmail()

    scheduler.start()
Example #28
0
    def handle(self, *args, **options):
        scheduler = BlockingScheduler(timezone=settings.TIME_ZONE)
        scheduler.add_jobstore(DjangoJobStore(), "default")
        '''
        scheduler.add_job(
            my_job,
            trigger =CronTrigger(second ="*/10"),  # Every 10 seconds
            id="my_job",  # The `id` assigned to each job MUST be unique
            max_instances=1,
            replace_existing=True,
        )
        logger.info("Added job 'my_job'.")
        '''
        scheduler.add_job(
            hourly_job,
            # Every 10 seconds
            trigger=CronTrigger(day="*", hour="*", minute="10"),
            id="hourly_job",  # The `id` assigned to each job MUST be unique
            max_instances=1,
            replace_existing=True,
        )
        logger.info("Added job 'hourly_job'.")

        scheduler.add_job(
            delete_old_job_executions,
            trigger=CronTrigger(
                day_of_week="mon", hour="10", minute="00"
            ),  # Midnight on Monday, before start of the next work week.
            id="delete_old_job_executions",
            max_instances=1,
            replace_existing=True,
        )
        logger.info(
            "Added weekly job: 'delete_old_job_executions'."
        )

        scheduler.add_job(
            sort_tasks_in_lanes,
            trigger=CronTrigger(
                day_of_week="mon", hour="10", minute="00"
            ),  # Midnight on Monday, before start of the next work week.
            id="sort_tasks_in_lanes",
            max_instances=1,
            replace_existing=True,
        )
        logger.info(
            "Added sort job: 'sort_tasks_in_lanes'."
        )
        try:
            logger.info("Starting scheduler...")
            scheduler.start()
        except KeyboardInterrupt:
            logger.info("Stopping scheduler...")
            scheduler.shutdown()
            logger.info("Scheduler shut down successfully!")
def start():
    scheduler = BackgroundScheduler()
    scheduler.add_jobstore(DjangoJobStore(), "default")
    scheduler.add_job(report,
                      'interval',
                      minutes=1,
                      name='report_accounts',
                      jobstore='default')
    register_events(scheduler)
    scheduler.start()
    print("Scheduler has started")
Example #30
0
def wechat_sendfile_server():
    data = {}
    itchat.auto_login()
    scheduler = BackgroundScheduler()
    # 调度器使用DjangoJobStore()
    scheduler.add_jobstore(DjangoJobStore(), "default")
    # trigger = DateTrigger(run_date='2019-05-13 15:25:30')
    job = scheduler.add_job(send_file_by_time, trigger='date', next_run_time='2019-05-13 14:06:30')
    # job = scheduler.add_job(send_file_by_time, trigger)
    scheduler.start()
    job.remove()