{"id":18320265,"url":"https://github.com/gedex/go-simple-queue","last_synced_at":"2025-04-09T14:24:04.913Z","repository":{"id":22443777,"uuid":"25782091","full_name":"gedex/go-simple-queue","owner":"gedex","description":"Simulating simple queue with Go","archived":false,"fork":false,"pushed_at":"2014-10-26T17:03:39.000Z","size":104,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-15T08:25:00.295Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gedex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-26T17:03:07.000Z","updated_at":"2014-10-26T17:03:40.000Z","dependencies_parsed_at":"2022-08-21T05:00:41.109Z","dependency_job_id":null,"html_url":"https://github.com/gedex/go-simple-queue","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gedex%2Fgo-simple-queue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gedex%2Fgo-simple-queue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gedex%2Fgo-simple-queue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gedex%2Fgo-simple-queue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gedex","download_url":"https://codeload.github.com/gedex/go-simple-queue/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248054362,"owners_count":21039987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T18:15:45.432Z","updated_at":"2025-04-09T14:24:04.892Z","avatar_url":"https://github.com/gedex.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"go-simple-queue\n========================\n\n\u003e Simulating simple queue, written in Go, for pushing and fetching jobs.\n\nConsider a use case where you need to send email after a user is suscessfully\nregistered. Sending email takes time and it will block request handler to finish\nthe response. However, you can delay sending email by pushing it into queue and\nlet the background worker picking up the job later.\n\n## Run\n\n```\n$ git clone $THIS_GITHUB_URL\n$ cd go-simple-queue\n$ go build\n$ ./go-simple-queue\nRunning 'SendEmail' queue with 4 worker(s)\nStarting worker 'Worker#SendEmail#1'\nStarting worker 'Worker#SendEmail#2'\nStarting worker 'Worker#SendEmail#3'\nStarting worker 'Worker#SendEmail#4'\nRunning 'GenerateThumbnail' queue with 3 worker(s)\nStarting worker 'Worker#GenerateThumbnail#1'\nStarting worker 'Worker#GenerateThumbnail#2'\nStarting worker 'Worker#GenerateThumbnail#3'\nWorker#SendEmail#1: taking Job#SendEmail#1\nWorker#GenerateThumbnail#1: taking Job#GenerateThumbnail#1\nWorker#SendEmail#2: taking Job#SendEmail#2\nJob#SendEmail#1 done by Worker#SendEmail#1 [SUCCESS]\n...\n```\n\nOnce you built and ran the program, it will publish jobs periodically. There are\n4 `SendEmail` workers and 3 `GenerateThumbnail` workers fetching jobs from\nqueue. Worker will take [0,3) seconds to finish its job. The result may `SUCCESS`\nor `FAIL`.\n\n## License\n\nMIT License - see [LICENSE](./LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgedex%2Fgo-simple-queue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgedex%2Fgo-simple-queue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgedex%2Fgo-simple-queue/lists"}