- 8 DB models (services, incidents, monitors, subscribers, etc.) - Full CRUD API for services, incidents, monitors - Public status page with live data - Incident detail page with timeline - API key authentication - Uptime monitoring scheduler - 13 tests passing - TECHNICAL_DESIGN.md with full spec
20 lines
573 B
Python
20 lines
573 B
Python
import sys
|
|
|
|
from apscheduler.executors.base import BaseExecutor, run_job
|
|
|
|
|
|
class DebugExecutor(BaseExecutor):
|
|
"""
|
|
A special executor that executes the target callable directly instead of deferring it to a
|
|
thread or process.
|
|
|
|
Plugin alias: ``debug``
|
|
"""
|
|
|
|
def _do_submit_job(self, job, run_times):
|
|
try:
|
|
events = run_job(job, job._jobstore_alias, run_times, self._logger.name)
|
|
except BaseException:
|
|
self._run_job_error(job.id, *sys.exc_info()[1:])
|
|
else:
|
|
self._run_job_success(job.id, events)
|