{"id":19484466,"url":"https://github.com/flowerinthenight/longsub","last_synced_at":"2025-04-25T16:33:39.559Z","repository":{"id":57532515,"uuid":"279027161","full_name":"flowerinthenight/longsub","owner":"flowerinthenight","description":"Package for lengthy subscriptions for AWS SQS and GCP Pub/Sub.","archived":false,"fork":false,"pushed_at":"2024-10-30T04:15:29.000Z","size":282,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-30T07:19:01.492Z","etag":null,"topics":["aws","gcp","lengthy","pubsub","sqs","subscription"],"latest_commit_sha":null,"homepage":"","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/flowerinthenight.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-12T08:55:25.000Z","updated_at":"2024-10-30T04:14:46.000Z","dependencies_parsed_at":"2023-11-27T00:26:21.904Z","dependency_job_id":"74abb3ca-f397-4c2e-9bbe-eabffd0c53fa","html_url":"https://github.com/flowerinthenight/longsub","commit_stats":null,"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowerinthenight%2Flongsub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowerinthenight%2Flongsub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowerinthenight%2Flongsub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowerinthenight%2Flongsub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flowerinthenight","download_url":"https://codeload.github.com/flowerinthenight/longsub/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224009459,"owners_count":17240565,"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":["aws","gcp","lengthy","pubsub","sqs","subscription"],"created_at":"2024-11-10T20:21:55.596Z","updated_at":"2025-04-25T16:33:39.533Z","avatar_url":"https://github.com/flowerinthenight.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![main](https://github.com/flowerinthenight/longsub/workflows/main/badge.svg)\n[![Go Reference](https://pkg.go.dev/badge/github.com/flowerinthenight/longsub.svg)](https://pkg.go.dev/github.com/flowerinthenight/longsub)\n\n**NOTE**: GCP PubSub now supports async subscription. I recommend using that instead of this.\n\n\n## Overview\n\n`longsub` is a small wrapper package for lengthy subscriptions for both [AWS SQS](https://aws.amazon.com/sqs/) and [GCP Pub/Sub](https://cloud.google.com/pubsub/). It will setup the subscription and attempts to extend the processing window at message level until the processing is done, or failed, or requeued. Useful if you want to keep the queue timeout relatively short (for quick message redelivery) but have the option for subscribers to go beyond the timeout (without redelivery) to process each of the messages.\n\nCheck out the [examples](./examples/) provided for reference on how to use the package.\n\n## Authentication\n\nFor AWS, the following environment variables will be used.\n```bash\n# Required\nAWS_REGION\nAWS_ACCESS_KEY_ID\nAWS_SECRET_ACCESS_KEY\n\n# Optional. If non-empty, package will attempt\n# to assume this role using the key/secret above.\nROLE_ARN\n```\n\nFor GCP, either the following environment variable:\n```bash\nGOOGLE_APPLICATION_CREDENTIALS=/path/to/svcacct.json\n```\n\nor Pub/Sub access from the runtime environment (for ex., GCE, Workload Identity Federation, etc.) is required.\n\n## License\n\nThis library is licensed under the [MIT License](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflowerinthenight%2Flongsub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflowerinthenight%2Flongsub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflowerinthenight%2Flongsub/lists"}