├── .coderabbit.yaml ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── pull_request_template.md └── workflows │ └── ci.yml ├── .gitignore ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── assets ├── bench-charts │ ├── add_alloc_bench_chart.png │ ├── add_exe_bench_chart.png │ ├── add_mem_bench_chart.png │ ├── addall_alloc_bench_chart.png │ ├── addall_exe_bench_chart.png │ └── addall_mem_bench_chart.png └── diagrams │ ├── interface.drawio.png │ ├── varmq-architecture.png │ └── varmq.excalidraw ├── bench_test.go ├── codecov.yml ├── compose.yml ├── config.go ├── config_test.go ├── distributed.go ├── distributed_priority.go ├── distributed_test.go ├── docs └── API_REFERENCE.md ├── examples ├── idle-wokers │ └── main.go ├── multi-queue-binds │ └── main.go ├── redis-distributed │ ├── consumer │ │ └── main.go │ ├── docker-compose.yml │ ├── go.mod │ ├── go.sum │ └── provider │ │ └── main.go ├── redis-persistent │ ├── go.mod │ ├── go.sum │ └── main.go ├── result-worker │ └── main.go ├── sqlite-persistent │ ├── go.mod │ ├── go.sum │ └── main.go └── tune-worker │ └── main.go ├── go.mod ├── go.sum ├── group_job.go ├── group_job_test.go ├── interface.go ├── internal ├── helpers │ ├── manager.go │ ├── manager_test.go │ ├── response.go │ ├── response_test.go │ ├── wg_counter.go │ └── wg_counter_test.go ├── linkedbuffer │ ├── chunk.go │ └── chunk_test.go ├── linkedlist │ ├── linkedlist.go │ └── linkedlist_test.go ├── pool │ ├── node.go │ ├── node_test.go │ ├── pool.go │ └── pool_test.go └── queues │ ├── heap.go │ ├── heap_test.go │ ├── priority.go │ ├── priority_test.go │ ├── queue.go │ └── queue_test.go ├── job.go ├── job_test.go ├── main.go ├── main_test.go ├── persistent.go ├── persistent_priority.go ├── persistent_test.go ├── priority.go ├── queue.go ├── queue_test.go ├── utils ├── main.go └── main_test.go ├── worker.go ├── worker_binder.go ├── worker_binder_test.go └── worker_test.go /.coderabbit.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/.coderabbit.yaml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/.github/pull_request_template.md -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.out 2 | experiments/* 3 | *.db* 4 | .cursor 5 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/README.md -------------------------------------------------------------------------------- /assets/bench-charts/add_alloc_bench_chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/assets/bench-charts/add_alloc_bench_chart.png -------------------------------------------------------------------------------- /assets/bench-charts/add_exe_bench_chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/assets/bench-charts/add_exe_bench_chart.png -------------------------------------------------------------------------------- /assets/bench-charts/add_mem_bench_chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/assets/bench-charts/add_mem_bench_chart.png -------------------------------------------------------------------------------- /assets/bench-charts/addall_alloc_bench_chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/assets/bench-charts/addall_alloc_bench_chart.png -------------------------------------------------------------------------------- /assets/bench-charts/addall_exe_bench_chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/assets/bench-charts/addall_exe_bench_chart.png -------------------------------------------------------------------------------- /assets/bench-charts/addall_mem_bench_chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/assets/bench-charts/addall_mem_bench_chart.png -------------------------------------------------------------------------------- /assets/diagrams/interface.drawio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/assets/diagrams/interface.drawio.png -------------------------------------------------------------------------------- /assets/diagrams/varmq-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/assets/diagrams/varmq-architecture.png -------------------------------------------------------------------------------- /assets/diagrams/varmq.excalidraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/assets/diagrams/varmq.excalidraw -------------------------------------------------------------------------------- /bench_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/bench_test.go -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- 1 | ignore: 2 | - "examples/**/*" 3 | -------------------------------------------------------------------------------- /compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/compose.yml -------------------------------------------------------------------------------- /config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/config.go -------------------------------------------------------------------------------- /config_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/config_test.go -------------------------------------------------------------------------------- /distributed.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/distributed.go -------------------------------------------------------------------------------- /distributed_priority.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/distributed_priority.go -------------------------------------------------------------------------------- /distributed_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/distributed_test.go -------------------------------------------------------------------------------- /docs/API_REFERENCE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/docs/API_REFERENCE.md -------------------------------------------------------------------------------- /examples/idle-wokers/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/examples/idle-wokers/main.go -------------------------------------------------------------------------------- /examples/multi-queue-binds/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/examples/multi-queue-binds/main.go -------------------------------------------------------------------------------- /examples/redis-distributed/consumer/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/examples/redis-distributed/consumer/main.go -------------------------------------------------------------------------------- /examples/redis-distributed/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/examples/redis-distributed/docker-compose.yml -------------------------------------------------------------------------------- /examples/redis-distributed/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/examples/redis-distributed/go.mod -------------------------------------------------------------------------------- /examples/redis-distributed/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/examples/redis-distributed/go.sum -------------------------------------------------------------------------------- /examples/redis-distributed/provider/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/examples/redis-distributed/provider/main.go -------------------------------------------------------------------------------- /examples/redis-persistent/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/examples/redis-persistent/go.mod -------------------------------------------------------------------------------- /examples/redis-persistent/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/examples/redis-persistent/go.sum -------------------------------------------------------------------------------- /examples/redis-persistent/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/examples/redis-persistent/main.go -------------------------------------------------------------------------------- /examples/result-worker/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/examples/result-worker/main.go -------------------------------------------------------------------------------- /examples/sqlite-persistent/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/examples/sqlite-persistent/go.mod -------------------------------------------------------------------------------- /examples/sqlite-persistent/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/examples/sqlite-persistent/go.sum -------------------------------------------------------------------------------- /examples/sqlite-persistent/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/examples/sqlite-persistent/main.go -------------------------------------------------------------------------------- /examples/tune-worker/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/examples/tune-worker/main.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/go.sum -------------------------------------------------------------------------------- /group_job.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/group_job.go -------------------------------------------------------------------------------- /group_job_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/group_job_test.go -------------------------------------------------------------------------------- /interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/interface.go -------------------------------------------------------------------------------- /internal/helpers/manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/helpers/manager.go -------------------------------------------------------------------------------- /internal/helpers/manager_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/helpers/manager_test.go -------------------------------------------------------------------------------- /internal/helpers/response.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/helpers/response.go -------------------------------------------------------------------------------- /internal/helpers/response_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/helpers/response_test.go -------------------------------------------------------------------------------- /internal/helpers/wg_counter.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/helpers/wg_counter.go -------------------------------------------------------------------------------- /internal/helpers/wg_counter_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/helpers/wg_counter_test.go -------------------------------------------------------------------------------- /internal/linkedbuffer/chunk.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/linkedbuffer/chunk.go -------------------------------------------------------------------------------- /internal/linkedbuffer/chunk_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/linkedbuffer/chunk_test.go -------------------------------------------------------------------------------- /internal/linkedlist/linkedlist.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/linkedlist/linkedlist.go -------------------------------------------------------------------------------- /internal/linkedlist/linkedlist_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/linkedlist/linkedlist_test.go -------------------------------------------------------------------------------- /internal/pool/node.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/pool/node.go -------------------------------------------------------------------------------- /internal/pool/node_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/pool/node_test.go -------------------------------------------------------------------------------- /internal/pool/pool.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/pool/pool.go -------------------------------------------------------------------------------- /internal/pool/pool_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/pool/pool_test.go -------------------------------------------------------------------------------- /internal/queues/heap.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/queues/heap.go -------------------------------------------------------------------------------- /internal/queues/heap_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/queues/heap_test.go -------------------------------------------------------------------------------- /internal/queues/priority.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/queues/priority.go -------------------------------------------------------------------------------- /internal/queues/priority_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/queues/priority_test.go -------------------------------------------------------------------------------- /internal/queues/queue.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/queues/queue.go -------------------------------------------------------------------------------- /internal/queues/queue_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/internal/queues/queue_test.go -------------------------------------------------------------------------------- /job.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/job.go -------------------------------------------------------------------------------- /job_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/job_test.go -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/main.go -------------------------------------------------------------------------------- /main_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/main_test.go -------------------------------------------------------------------------------- /persistent.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/persistent.go -------------------------------------------------------------------------------- /persistent_priority.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/persistent_priority.go -------------------------------------------------------------------------------- /persistent_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/persistent_test.go -------------------------------------------------------------------------------- /priority.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/priority.go -------------------------------------------------------------------------------- /queue.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/queue.go -------------------------------------------------------------------------------- /queue_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/queue_test.go -------------------------------------------------------------------------------- /utils/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/utils/main.go -------------------------------------------------------------------------------- /utils/main_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/utils/main_test.go -------------------------------------------------------------------------------- /worker.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/worker.go -------------------------------------------------------------------------------- /worker_binder.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/worker_binder.go -------------------------------------------------------------------------------- /worker_binder_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/worker_binder_test.go -------------------------------------------------------------------------------- /worker_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/goptics/varmq/HEAD/worker_test.go --------------------------------------------------------------------------------