WorkerCli class

Shared setup for a bin/worker.dart entrypoint — parses the standard gisila_queue worker flags, builds a Redis-backed GisilaQueue, and wires graceful shutdown, so a project's own binary can be little more than:

Future<void> main(List<String> argv) async {
  final cli = WorkerCli.parse(argv);
  if (cli.help) return print(cli.usage);
  final app = cli.buildApp();
  registerMyTasks(app); // your own task registrations
  await cli.run(app);
}

Recognized flags: --queues=a,b (default: default), --concurrency=N (default: 1), --redis-host=H (default: localhost), --redis-port=P (default: 6379), --namespace=P (alias --prefix; default: gq), --loglevel=debug|info|warning|error (default: info), --drain-timeout=SECONDS (default: 30), --help/-h.

Constructors

WorkerCli.parse(List<String> argv)
factory

Properties

args → CliArgs
final
concurrency → int
final
drainTimeout → Duration
How long a shutdown waits for running tasks before exiting anyway.
final
hashCode → int
The hash code for this object.
no setterinherited
help → bool
no setter
logLevel → LogLevel
final
prefix → String
final
queues → List<String>
final
redisHost → String
final
redisOptions → RedisOptions
Password, TLS and database from --redis-url / REDIS_URL.
final
redisPort → int
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

buildApp() → GisilaQueue
Builds a Redis-backed GisilaQueue from the parsed flags. Register your own tasks on the result before calling run.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
run(GisilaQueue app) → Future<void>
Builds a Worker for app from the parsed flags, starts it, prints a startup banner, and blocks until a SIGINT/SIGTERM triggers a graceful Worker.stop. Also closes app's broker/backend/control channel connections before returning, so the process actually exits instead of hanging on an open Redis socket.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Constants

usage → const String