gisila_rose library
GisilaRose — an optional, Flower-style observability dashboard for gisila_queue.
This is a separate entry point from package:gisila_queue/gisila_queue.dart
so the core stays dependency-light: importing it pulls in the dart:io
HTTP server only when you actually want a dashboard.
Wire a QueueEventSink into your GisilaQueue (producers and workers) so lifecycle events flow, then run a GisilaRose against the matching QueueEventSource:
// In producer/worker processes:
final app = GisilaQueue(
broker: RedisBroker(host: 'localhost'),
events: RedisEventSink(host: 'localhost'),
);
// In the monitor process (or see bin/rose.dart):
final rose = GisilaRose(
source: RedisEventSource(host: 'localhost'),
broker: RedisBroker(host: 'localhost'),
port: 5555,
);
await rose.start();
print('dashboard on http://localhost:5555');
For a single-isolate app or tests, share one InMemoryEventBus as both the
app's events sink and the rose's source.
Classes
- GisilaRose
- A Flower-equivalent observability dashboard for gisila_queue.
- MonitorState
- Aggregates the QueueEvent stream into a live, queryable model of tasks, workers, and counters — the in-memory state a GisilaRose dashboard renders. This is the gisila_queue analogue of Flower's event-driven state.
- TaskInfo
- A monitor's view of a single task, folded from its lifecycle events.
- WorkerInfo
- A monitor's view of a worker process, folded from its heartbeats.