Files
plane/monitor/cli/pkg/core
Henit Chobisa e652592b07 feat: Added DNS Validation Endpoint to Monitor as an HTTP Endpoint (#471)
* feat: added worker for executing and scheduling parallel tasks

* feat: implemented worker based execution over cron handlers

* feat: added router to package to run go fiber for dns validation

* chore: added router package to go workspace

* feat: added dns route controller

* feat: added dns validation handler for route

* feat: added healthcheck as a core function

* feat: implemented worker for scheduling and running multiple tasks over goroutines

* feat: added cron and http start handlers

* feat: added prime scheduler handler to comply with prime scheduler

* feat: implemented worker in cli start command

* feat: added tests for dns validation handler

* feat: added run test script to run test inside monitor

* feat: added test for background worker

* feat: implemented graceful shutdown for cancellation of jobs

* feat: added readme for core package

* fix: worker cancellation of tasks with ctx

* fix: added closing channels in worker

* fix: handled case for repeated keys in dns validation endpoint
2024-06-24 13:09:05 +05:30
..

Core

The Core Package acts as a bridge between the modules and the executors like cron, http and the modules, such as healthcheck or router. The view here is that the execution for a particular module's feature can be used in many way and should be generic enough to be used with any type of executor.

Conventions

  • Please don't use any sort of strict types from any module or package.
  • Define interfaces instead of hard types, for example if you check healthcheck.go, there is a runner interface defined, which enables any executor to implement those methods and use the core functions.