Skip to content

Introduction

What is The Scheduler

Section titled “What is ”

The scheduler is a Task Manager where you write your own tasks in Typescript/Javascript. Based on a typed class component users can write their own processes, using any extra packages, libraries, and extra tools they want, all while being able to schedule these tasks to run on a specific time.

In a nutshell, The scheduler is an expanded CRON job manager.

What does The Scheduler focus on

Section titled “What does focus on”
  • The Scheduler focuses on ease of configuration and user coded interactions, like on task start and end, logging and error handling.
  • We also focuses on a clear structure for the task code base ( a class base ), and the ability to compose extra ready to use plugins and services to attach and use in your task.
  • We also have a “good” UI that is focused on keyboard accessibility and ease of navigation and search (more to come on this).
  • Our deployment process comes with the most amount of default configs, and a minimal number of services/containers needed to start.
  • Full typed task creation: with full types exported on build time
  • Lifecycle job events: Integrates multiple life cycle events for tasks (aka jobs)
  • Baked-in logging: Supports multiple logging targets (files, Loki, Gotify notifications**), per job/run logs
  • Baked-in notification plugins: Supports custom Notification services based on user coded
  • Basic auth support: Supports authentication (JWT in API + UI)
  • Baked-in http clients: Includes built in networking tools for jobs to use (axios, browserless**)
  • Documented API: Has an easy to comprehend API + heavily tied UI (demo available)
  • Written with Bun as a runtime for faster execution, and Elysia as the server/API framework
  • Support fo automatic job result parsing and classifications (errors, warnings, …)
  • Support for networking and IO tools per task
  • Support for custom UI themes
  • Support for custom UI keyboard shortcuts