def create(request): if request.method != 'POST': return error_page_free_format(request, 'invalid method') # activeユーザー以外はエラー if not request.user.is_active: return error_page_inactive(request) # is_admin権限なしの場合はエラー if not request.user.is_admin: return error_page_no_view_permission(request) try: time = get_adapter_isight_detail_create_time(request) if time is None: return error_page_free_format(request, 'Invalid Time format.') times = time.split(':') if len(times) == 1: return error_page_free_format(request, 'Invalid Time format.') # 数値変換チェック try: int(times[0]) int(times[1]) int(times[2]) except ValueError: return error_page_free_format(request, 'Invalid Time format.') # Cron設定 # job追加 job = isightAdapter.add_job(type_=ScheduleJobs.JOB_CRON, hour=times[0], minute=times[1], second=times[2]) isight.add_job(job) except Exception: # エラーページ return error_page(request) return isight_common_render(request)
def interval(request): if request.method != 'GET': return error_page_free_format(request, 'invalid method') # activeユーザー以外はエラー if not request.user.is_active: return error_page_inactive(request) # is_admin権限なしの場合はエラー if not request.user.is_admin: return error_page_no_view_permission(request) try: interval = get_adapter_isight_detail_interval_interval(request) # schedular からジョブを削除 isight.remove_interval_job() # mongo 格納の設定からジョブを削除 isightAdapter.remove_internal_job() if interval != 0: # Mongo の isightAdapter に jobを追加する (設定の保存のみ) job = isightAdapter.add_job(type_=ScheduleJobs.JOB_INTERVAL, seconds=interval) # job 動作追加 isight.add_job(job) info_msg = 'Set Interval %d sec' % (interval) else: # ジョブの追加をしない info_msg = 'Stop a job by interval' return isight_common_render(request, info_msg=info_msg) except Exception: # エラーページ return error_page(request)