Exemplo n.º 1
0
def test_register_job_raises_deprecation_warning(scheduler, jobstore):

    with warnings.catch_warnings(record=True) as w:

        register_job(scheduler, "interval", seconds=1)(dummy_job)
        assert len(w) == 1
        assert issubclass(w[-1].category, DeprecationWarning)
        assert "deprecated" in str(w[-1].message)
Exemplo n.º 2
0
def test(request):
    scheduler = BackgroundScheduler(settings.SCHEDULER_CONFIG)
    scheduler.add_job(print_delay,
                      'interval',
                      seconds=15,
                      max_instances=3,
                      coalesce=True,
                      next_run_time=datetime.datetime.now())
    register_job(scheduler)
    scheduler.start()
    return render(request, 'hotelm/index.html')
Exemplo n.º 3
0
def test_register_job_dec(db, scheduler):

    register_job(scheduler, "interval", seconds=1)(job)

    scheduler.start()

    assert DjangoJob.objects.count() == 1
    dbj = DjangoJob.objects.first()
    assert dbj.name == "tests.conftest.job"

    j = scheduler.get_jobs()[0]
    assert j.id == "tests.conftest.job"
Exemplo n.º 4
0
def get_search(request):
    # If form is filled:
    if request.method == 'POST':
        form = SearchForm(request.POST)
        if form.is_valid():
            # Create Search object
            if form.cleaned_data['special_rates']:
                sp = form.cleaned_data['special_rates']
            else:
                sp = "0"
            if form.cleaned_data['special_rates_code']:
                spc = form.cleaned_data['special_rates_code']
            else:
                spc = "0"
            local = pytz.timezone("America/Los_Angeles")
            searchobj = Search(recipient=form.cleaned_data['email'],
                               destination=form.cleaned_data['destination'],
                               check_in=form.cleaned_data['cin_date'],
                               check_out=form.cleaned_data['cout_date'],
                               special_rates=sp,
                               special_rates_code=spc)
            if request.user.is_authenticated:
                searchobj.user = request.user
            if form.cleaned_data['email_freq']:
                searchobj.recurrence = int(form.cleaned_data['email_freq']) + 1
            else:
                searchobj.recurrence = 1
            searchobj.save()
            #search and email results
            searchobj_id = str(int(searchobj.id))
            #create recurrence object
            scheduler = BackgroundScheduler(settings.SCHEDULER_CONFIG)
            scheduler.add_job(search_and_email,
                              'interval',
                              seconds=86400,
                              id=searchobj_id,
                              max_instances=3,
                              coalesce=True,
                              next_run_time=datetime.datetime.now(),
                              args=[searchobj_id])
            register_job(scheduler)
            scheduler.start()
            message = 'Search Results will be sent to your email. Please check your email in about 60 seconds. Thank you.'
            return render(request, 'hotelm/search.html', {'message': message})
    # initial form screen
    else:
        form = SearchForm()
    return render(request, 'hotelm/search.html', {'form': form})
Exemplo n.º 5
0
def test_register_job(scheduler, jobstore):
    register_job(scheduler, "interval", seconds=1)(dummy_job)
    scheduler.start()

    assert DjangoJob.objects.count() == 1
Exemplo n.º 6
0
from common import mailUtil
scheduler = BackgroundScheduler()

scheduler.add_jobstore(DjangoJobStore(), 'default')


# 毎日10時在留期限チェック
@register_job(scheduler, 'cron', id='check', hour=10, minute=1)
def check():
    next_month = datetime.date.today() + relativedelta(months=+1)
    expErrList = []
    # 未来一ヶ月の日期と在留期限の比較
    target_name = Employee.objects.filter(retention_limit=next_month).values()
    for obj in target_name:
        # 社員へメール
        expErrList.append(obj['name'] + 'の在留期限まだ一ヶ月 ')
        employe_name = obj['name']
        employe_mail = obj['email']
        main = employe_name + 'さん、在留期限まだ一ヶ月、ご注意ください'
        mailUtil.retention_mail(employe_name, employe_mail, main)
    if len(expErrList) > 0:
        # 管理者へメール
        employe_name = Employee.objects.get(empNo='001').name
        employe_mail = Employee.objects.get(empNo='001').email
        main = expErrList
        mailUtil.retention_mail(employe_name, employe_mail, main)


# register
register_job(scheduler)
scheduler.start()
Exemplo n.º 7
0
{"code": 0, "permission": None, "result": True, "request_id": "b51de6014edf4df297222f2e1cdbcbc9", "message": "success", "data": [{"host_count": 0, "default": 0, "bk_obj_name": "业务", "bk_obj_id": "biz", "child": [{"host_count": 0, "default": 0, "bk_obj_name": 群", "bk_obj_id": "set", "child": [{"host_count": 0, "default": 0, "bk_obj_name": "模块", "bk_obj_id": "module", "child": [], "bk_inst_id": 101, "bk_inst_name": "测试模块"}, {"host_count": 0, "default": 0, "bk_obj_name": "模块", "bk_obj_id": "module", "child": nst_id": 103, "bk_inst_name": "测试模块1"}], "bk_inst_id": 30, "bk_inst_name": "测试01"}, {"host_count": 0, "default": 0, "bk_obj_name": "集群", "bk_obj_id": "set", "child": [{"host_count": 0, "default": 0, "bk_obj_name": "模块", "bk_obj_id": "module", "child":nst_id": 102, "bk_inst_name": "权限模块测试"}], "bk_inst_id": 31, "bk_inst_name": "权限测试"}, {"host_count": 0, "default": 0, "bk_obj_name": "集群", "bk_obj_id": "set", "child": [], "bk_inst_id": 29, "bk_inst_name": "同步测试"}], "bk_inst_id": 6, "bk_inst_name自动发布"}]}


from apscheduler.schedulers.background import BackgroundScheduler
from django_apscheduler.jobstores import DjangoJobStore, register_events, register_job

#开启定时工作
scheduler_plan = BackgroundScheduler()  ##实例化调度器
try:
    # 调度器使用DjangoJobStore()
    scheduler_plan.add_jobstore(DjangoJobStore(), "default")
    # 设置定时任务,选择方式为interval,时间间隔为15 minutes
    # 另一种方式为周一到周五固定时间执行任务,对应代码为:
    # @register_job(scheduler_plan, 'cron', day_of_week='mon-fri', hour='8', minute='30', second='10',id='task_time')
    @register_job(scheduler_plan,"interval", minutes=15)
    def my_job():
        # 这里写你要执行的任务
        pass
    register_events(scheduler_plan)
    scheduler_plan.start()
except Exception as e:
    print(e)
    # 有错误就停止定时器
    scheduler_plan.shutdown()