Skip to content

Add gonext jobs CLI subcommands (queue, failed, drain, cron, plugin) #273

@tayebmokni

Description

@tayebmokni

Summary

Implement the gonext jobs CLI per §15 talking to Redis via Asynq's Inspector API. Covers queue stats/list, DLQ inspection/replay/discard, queue drain/resume, cron list + lease holder, and plugin rate-limit/drain commands. Marked good-first-issue for the read-only subcommands (stats, list, cron list, cron lease).

Design reference

  • docs/12-jobs-cron.md §15 (Operational tasks CLI)

Acceptance criteria

  • gonext jobs queue stats — depth/active/processed/failed per queue
  • gonext jobs queue list — configured queues + weights
  • gonext jobs failed list [--task=X] [--queue=Y] [--limit=100] — list archived
  • gonext jobs failed show <id> — full record (payload, error history)
  • gonext jobs failed replay <id> — re-enqueue one task (capability manage_jobs)
  • gonext jobs failed replay-all --task=X — confirm-prompt guard
  • gonext jobs failed discard <id> — delete from archive
  • gonext jobs drain --queue=migrate / resume --queue=migrate — pause/resume via Asynq's pause-queue feature
  • gonext jobs cron list — registered cron specs + next-run
  • gonext jobs cron lease — current scheduler lease holder
  • gonext jobs plugin rate-limit set --slug=X --per-min=N
  • gonext jobs plugin drain --slug=X — drain plugin's queued + scheduled tasks
  • Output formats: human (default) + --format=json
  • Help text auto-generated from spec; integration test invokes each subcommand against a live Redis

Dependencies

#258, #88

Complexity

M

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions