├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── dependabot.yaml └── workflows │ ├── benchstat.yml │ └── build.yml ├── .gitignore ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── aggregator.go ├── aggregator_test.go ├── asynq.go ├── asynq_test.go ├── benchmark_test.go ├── client.go ├── client_test.go ├── context.go ├── doc.go ├── docs └── assets │ ├── asynq_history.gif │ ├── asynq_ps.gif │ ├── asynq_stats.gif │ ├── asynqmon-queues-view.png │ ├── asynqmon-task-view.png │ ├── cluster.png │ ├── dash.gif │ ├── demo.gif │ ├── overview.png │ └── task-queue.png ├── example_test.go ├── forwarder.go ├── forwarder_test.go ├── go.mod ├── go.sum ├── healthcheck.go ├── healthcheck_test.go ├── heartbeat.go ├── heartbeat_test.go ├── inspector.go ├── inspector_test.go ├── internal ├── base │ ├── base.go │ └── base_test.go ├── context │ ├── context.go │ └── context_test.go ├── errors │ ├── errors.go │ └── errors_test.go ├── log │ ├── log.go │ └── log_test.go ├── proto │ ├── asynq.pb.go │ └── asynq.proto ├── rdb │ ├── benchmark_test.go │ ├── inspect.go │ ├── inspect_test.go │ ├── rdb.go │ └── rdb_test.go ├── testbroker │ └── testbroker.go ├── testutil │ ├── builder.go │ ├── builder_test.go │ └── testutil.go └── timeutil │ ├── timeutil.go │ └── timeutil_test.go ├── janitor.go ├── janitor_test.go ├── periodic_task_manager.go ├── periodic_task_manager_test.go ├── processor.go ├── processor_test.go ├── recoverer.go ├── recoverer_test.go ├── scheduler.go ├── scheduler_test.go ├── servemux.go ├── servemux_test.go ├── server.go ├── server_test.go ├── signals_unix.go ├── signals_windows.go ├── subscriber.go ├── subscriber_test.go ├── syncer.go ├── syncer_test.go ├── tools ├── asynq │ ├── README.md │ ├── cmd │ │ ├── cron.go │ │ ├── dash.go │ │ ├── dash │ │ │ ├── dash.go │ │ │ ├── draw.go │ │ │ ├── draw_test.go │ │ │ ├── fetch.go │ │ │ ├── key_event.go │ │ │ ├── key_event_test.go │ │ │ ├── screen_drawer.go │ │ │ └── table.go │ │ ├── group.go │ │ ├── queue.go │ │ ├── root.go │ │ ├── server.go │ │ ├── stats.go │ │ └── task.go │ └── main.go ├── go.mod ├── go.sum └── metrics_exporter │ └── main.go └── x ├── go.mod ├── go.sum ├── metrics └── metrics.go └── rate ├── example_test.go ├── semaphore.go └── semaphore_test.go /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/dependabot.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/.github/dependabot.yaml -------------------------------------------------------------------------------- /.github/workflows/benchstat.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/.github/workflows/benchstat.yml -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/README.md -------------------------------------------------------------------------------- /aggregator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/aggregator.go -------------------------------------------------------------------------------- /aggregator_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/aggregator_test.go -------------------------------------------------------------------------------- /asynq.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/asynq.go -------------------------------------------------------------------------------- /asynq_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/asynq_test.go -------------------------------------------------------------------------------- /benchmark_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/benchmark_test.go -------------------------------------------------------------------------------- /client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/client.go -------------------------------------------------------------------------------- /client_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/client_test.go -------------------------------------------------------------------------------- /context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/context.go -------------------------------------------------------------------------------- /doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/doc.go -------------------------------------------------------------------------------- /docs/assets/asynq_history.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/docs/assets/asynq_history.gif -------------------------------------------------------------------------------- /docs/assets/asynq_ps.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/docs/assets/asynq_ps.gif -------------------------------------------------------------------------------- /docs/assets/asynq_stats.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/docs/assets/asynq_stats.gif -------------------------------------------------------------------------------- /docs/assets/asynqmon-queues-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/docs/assets/asynqmon-queues-view.png -------------------------------------------------------------------------------- /docs/assets/asynqmon-task-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/docs/assets/asynqmon-task-view.png -------------------------------------------------------------------------------- /docs/assets/cluster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/docs/assets/cluster.png -------------------------------------------------------------------------------- /docs/assets/dash.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/docs/assets/dash.gif -------------------------------------------------------------------------------- /docs/assets/demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/docs/assets/demo.gif -------------------------------------------------------------------------------- /docs/assets/overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/docs/assets/overview.png -------------------------------------------------------------------------------- /docs/assets/task-queue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/docs/assets/task-queue.png -------------------------------------------------------------------------------- /example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/example_test.go -------------------------------------------------------------------------------- /forwarder.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/forwarder.go -------------------------------------------------------------------------------- /forwarder_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/forwarder_test.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/go.sum -------------------------------------------------------------------------------- /healthcheck.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/healthcheck.go -------------------------------------------------------------------------------- /healthcheck_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/healthcheck_test.go -------------------------------------------------------------------------------- /heartbeat.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/heartbeat.go -------------------------------------------------------------------------------- /heartbeat_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/heartbeat_test.go -------------------------------------------------------------------------------- /inspector.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/inspector.go -------------------------------------------------------------------------------- /inspector_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/inspector_test.go -------------------------------------------------------------------------------- /internal/base/base.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/base/base.go -------------------------------------------------------------------------------- /internal/base/base_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/base/base_test.go -------------------------------------------------------------------------------- /internal/context/context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/context/context.go -------------------------------------------------------------------------------- /internal/context/context_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/context/context_test.go -------------------------------------------------------------------------------- /internal/errors/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/errors/errors.go -------------------------------------------------------------------------------- /internal/errors/errors_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/errors/errors_test.go -------------------------------------------------------------------------------- /internal/log/log.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/log/log.go -------------------------------------------------------------------------------- /internal/log/log_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/log/log_test.go -------------------------------------------------------------------------------- /internal/proto/asynq.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/proto/asynq.pb.go -------------------------------------------------------------------------------- /internal/proto/asynq.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/proto/asynq.proto -------------------------------------------------------------------------------- /internal/rdb/benchmark_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/rdb/benchmark_test.go -------------------------------------------------------------------------------- /internal/rdb/inspect.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/rdb/inspect.go -------------------------------------------------------------------------------- /internal/rdb/inspect_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/rdb/inspect_test.go -------------------------------------------------------------------------------- /internal/rdb/rdb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/rdb/rdb.go -------------------------------------------------------------------------------- /internal/rdb/rdb_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/rdb/rdb_test.go -------------------------------------------------------------------------------- /internal/testbroker/testbroker.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/testbroker/testbroker.go -------------------------------------------------------------------------------- /internal/testutil/builder.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/testutil/builder.go -------------------------------------------------------------------------------- /internal/testutil/builder_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/testutil/builder_test.go -------------------------------------------------------------------------------- /internal/testutil/testutil.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/testutil/testutil.go -------------------------------------------------------------------------------- /internal/timeutil/timeutil.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/timeutil/timeutil.go -------------------------------------------------------------------------------- /internal/timeutil/timeutil_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/internal/timeutil/timeutil_test.go -------------------------------------------------------------------------------- /janitor.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/janitor.go -------------------------------------------------------------------------------- /janitor_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/janitor_test.go -------------------------------------------------------------------------------- /periodic_task_manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/periodic_task_manager.go -------------------------------------------------------------------------------- /periodic_task_manager_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/periodic_task_manager_test.go -------------------------------------------------------------------------------- /processor.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/processor.go -------------------------------------------------------------------------------- /processor_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/processor_test.go -------------------------------------------------------------------------------- /recoverer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/recoverer.go -------------------------------------------------------------------------------- /recoverer_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/recoverer_test.go -------------------------------------------------------------------------------- /scheduler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/scheduler.go -------------------------------------------------------------------------------- /scheduler_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/scheduler_test.go -------------------------------------------------------------------------------- /servemux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/servemux.go -------------------------------------------------------------------------------- /servemux_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/servemux_test.go -------------------------------------------------------------------------------- /server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/server.go -------------------------------------------------------------------------------- /server_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/server_test.go -------------------------------------------------------------------------------- /signals_unix.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/signals_unix.go -------------------------------------------------------------------------------- /signals_windows.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/signals_windows.go -------------------------------------------------------------------------------- /subscriber.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/subscriber.go -------------------------------------------------------------------------------- /subscriber_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/subscriber_test.go -------------------------------------------------------------------------------- /syncer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/syncer.go -------------------------------------------------------------------------------- /syncer_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/syncer_test.go -------------------------------------------------------------------------------- /tools/asynq/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/README.md -------------------------------------------------------------------------------- /tools/asynq/cmd/cron.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/cmd/cron.go -------------------------------------------------------------------------------- /tools/asynq/cmd/dash.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/cmd/dash.go -------------------------------------------------------------------------------- /tools/asynq/cmd/dash/dash.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/cmd/dash/dash.go -------------------------------------------------------------------------------- /tools/asynq/cmd/dash/draw.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/cmd/dash/draw.go -------------------------------------------------------------------------------- /tools/asynq/cmd/dash/draw_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/cmd/dash/draw_test.go -------------------------------------------------------------------------------- /tools/asynq/cmd/dash/fetch.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/cmd/dash/fetch.go -------------------------------------------------------------------------------- /tools/asynq/cmd/dash/key_event.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/cmd/dash/key_event.go -------------------------------------------------------------------------------- /tools/asynq/cmd/dash/key_event_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/cmd/dash/key_event_test.go -------------------------------------------------------------------------------- /tools/asynq/cmd/dash/screen_drawer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/cmd/dash/screen_drawer.go -------------------------------------------------------------------------------- /tools/asynq/cmd/dash/table.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/cmd/dash/table.go -------------------------------------------------------------------------------- /tools/asynq/cmd/group.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/cmd/group.go -------------------------------------------------------------------------------- /tools/asynq/cmd/queue.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/cmd/queue.go -------------------------------------------------------------------------------- /tools/asynq/cmd/root.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/cmd/root.go -------------------------------------------------------------------------------- /tools/asynq/cmd/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/cmd/server.go -------------------------------------------------------------------------------- /tools/asynq/cmd/stats.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/cmd/stats.go -------------------------------------------------------------------------------- /tools/asynq/cmd/task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/cmd/task.go -------------------------------------------------------------------------------- /tools/asynq/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/asynq/main.go -------------------------------------------------------------------------------- /tools/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/go.mod -------------------------------------------------------------------------------- /tools/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/go.sum -------------------------------------------------------------------------------- /tools/metrics_exporter/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/tools/metrics_exporter/main.go -------------------------------------------------------------------------------- /x/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/x/go.mod -------------------------------------------------------------------------------- /x/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/x/go.sum -------------------------------------------------------------------------------- /x/metrics/metrics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/x/metrics/metrics.go -------------------------------------------------------------------------------- /x/rate/example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/x/rate/example_test.go -------------------------------------------------------------------------------- /x/rate/semaphore.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/x/rate/semaphore.go -------------------------------------------------------------------------------- /x/rate/semaphore_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hibiken/asynq/HEAD/x/rate/semaphore_test.go --------------------------------------------------------------------------------