{"id":24456023,"url":"https://github.com/cydave/jobq","last_synced_at":"2025-03-14T07:42:13.788Z","repository":{"id":273237770,"uuid":"919066437","full_name":"cydave/jobq","owner":"cydave","description":"A simple job queue for golang","archived":false,"fork":false,"pushed_at":"2025-01-20T09:33:31.000Z","size":14,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-27T13:48:00.329Z","etag":null,"topics":["go","golang","queue"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cydave.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-19T16:15:40.000Z","updated_at":"2025-01-20T09:33:33.000Z","dependencies_parsed_at":"2025-01-19T17:46:31.708Z","dependency_job_id":"bc0e84a9-c51a-48f8-b1ab-a1da0e618cd7","html_url":"https://github.com/cydave/jobq","commit_stats":null,"previous_names":["cydave/jobq"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cydave%2Fjobq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cydave%2Fjobq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cydave%2Fjobq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cydave%2Fjobq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cydave","download_url":"https://codeload.github.com/cydave/jobq/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243544665,"owners_count":20308168,"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":["go","golang","queue"],"created_at":"2025-01-21T02:15:03.718Z","updated_at":"2025-03-14T07:42:13.746Z","avatar_url":"https://github.com/cydave.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jobq\n\njobq is a simple job queue.\n\njobq starts out with a set of initial jobs. As the initial jobs are processed by\nthe workers, new jobs can be submitted from within the workers if needed.\n\nThink of it as a webcrawler-esque job queue:\n\n1. Fetch from initial URL\n2. Extract all URLs\n3. For each found URL:\n   - enqueue URL for crawling\n\n**Note:** by default, jobq de-duplicates jobs. Jobs that have been processed are\nindexed in an internal map. Jobs with the same ID are\nskipped if they are fed back in the job queue. If you have no need for\ndeduplication, use `jobq.NewDup[T]()` instead of `jobq.New[T]()`.\n\n## Examples\n\nCurrently there are two simple examples to get started with jobq:\n\n- [de-duplicating jobq](examples/dedup/example.go)\n- [non-de-duplicating jobq](examples/dup/example.go)\n\n## Credits\n\nThe implementation of jobq is based off of the algorithm by [qvl/httpsyet](https://github.com/qvl/httpsyet).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcydave%2Fjobq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcydave%2Fjobq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcydave%2Fjobq/lists"}