Sign inSign up

mshelia/taskdaemon

By mshelia

Updated 9 months ago

High-performance polyglot task daemon. Run handlers in any language via containers. Built in Rust.

Image
1

1.3K

mshelia/taskdaemon repository overview

TaskDaemon

A high-performance, polyglot task processing system built in Rust. Execute handlers written in any language (Python, Node.js, C++, Go, etc.) via containerized workers.

Quick Start

docker run -d \
  -p 8080:8080 -p 50051:50051 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v ./handlers.toml:/app/handlers.toml \
  mshelia/taskdaemon

Features

  • Polyglot handlers via Docker containers
  • Sub-10ms warm container latency with pre-warmed pools
  • SQLite-backed persistent queue with automatic retry
  • Exponential backoff and configurable timeouts
  • HTTP REST and gRPC APIs
  • Prometheus metrics endpoint

Configuration

Create a handlers.toml to define your task handlers:

[handlers.process]
image = "my-handler:latest"
instances = 4
timeout = 30

CLI Options

docker run --rm mshelia/taskdaemon --help
OptionDescription
--workersNumber of worker threads
--http-portHTTP server port (default: 8080)
--grpc-portgRPC server port (default: 50051)
--configHandler config file path

Tag summary

Content type

Image

Digest

sha256:268c71ca7

Size

94.5 MB

Last updated

9 months ago

docker pull mshelia/taskdaemon