{"repo":"kalbhor/Tasqueue","free":true,"listed":false,"github":"https://github.com/kalbhor/Tasqueue","clone":"git clone https://github.com/kalbhor/Tasqueue.git","description":"A background jobs library for Go that allows pluggable brokers/store for distribution.","language":"Go","stars":465,"topics":["background-jobs","go","golang","jobqueue","queue","tasqueue","distributed-systems"],"license":"BSD-2-Clause","category":"dev-tools","readme_excerpt":"Tasqueue is a simple, lightweight distributed job/worker implementation in Go Installation go get -u github.com/kalbhor/tasqueue/v2 - Concepts - Server - Options - Usage - Task Options - Registering Tasks - Starting Server - Job - Options - Creating a job - Enqueuing a job - Getting job message - JobCtx - Group - Creating a group - Enqueuing a group - Getting group message - Chain - Creating a chain - Enqueuing a chain - Getting chain message - Result - Get Result Concepts - tasqueue.Broker is a generic interface to enqueue and consume messages from a single queue. Currently supported brokers are redis and nats-jetstream. Note: It is important for the broker (or your enqueue, consume implementation) to guarantee atomicity. ie : Tasqueue does not provide locking capabilities to ensure unique job consumption. - tasqueue.Results is a generic interface to store the status and results of jobs. Currently supported result stores are redis and nats-jetstream. - tasqueue.Task is a pre-registered job handler. It stores a handler functions which is called to process a job. It also stores callbacks (if set through options), executed during different states of a job. - tasqueue.Job represents a unit of work pushed to a queue for consumption. It holds: - []byte payload (encoded in any manner, if required) - task name used to identify the pre-registed task which will processes the job. Server A tasqueue server is the main store that holds the broker and the results interfaces. It also acts ","default_branch":null,"files":null,"tree":[],"storefront":"/r/kalbhor","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kalbhor/Tasqueue/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}