Skip to content

Add scheduler and task runner module + bug fixes

Compare
Choose a tag to compare
@ajscholl ajscholl released this 04 Jun 12:15
· 41 commits to main since this release

This release adds a task runner and scheduler module and contains various bug fixes.

The task runner (enabled by default) allows you to submit new tasks to be run in a controlled environment. It should only be a method of last resort to run go routines while still (somehow) tracking their results. IF ANY OF THEM FAILS, THE WHOLE TASK RUNNER WILL BE SHUT DOWN.

The scheduler module (which currently uses the task runner in the background) allows you to batch requests for a specified time together (or until reaching a batch size) and execute them all at once.

Other changes and bug fixes:

  • The profiling module can now be enabled via a config setting without changing the code
  • A possible leak of go routines was fixed in the kernel (when you execute multiple kernels after each other)
  • A race condition was fixed where the kernel would report a failed module as successful