{"id":13587163,"url":"https://github.com/shenek/wait-for-them","last_synced_at":"2025-04-07T19:30:47.837Z","repository":{"id":57671825,"uuid":"246948192","full_name":"shenek/wait-for-them","owner":"shenek","description":"Wait until TCP services are running.","archived":false,"fork":false,"pushed_at":"2024-04-20T19:20:40.000Z","size":224,"stargazers_count":15,"open_issues_count":9,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-05-21T00:55:05.789Z","etag":null,"topics":["cli","docker-compose","rust"],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/shenek.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","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":"2020-03-12T23:22:45.000Z","updated_at":"2024-08-01T16:33:10.050Z","dependencies_parsed_at":"2023-12-01T15:28:21.973Z","dependency_job_id":"54eae120-3f70-47ef-a3db-2e27bd265927","html_url":"https://github.com/shenek/wait-for-them","commit_stats":{"total_commits":46,"total_committers":1,"mean_commits":46.0,"dds":0.0,"last_synced_commit":"3626b2e57424917332f6210db5b4f9d2de996480"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenek%2Fwait-for-them","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenek%2Fwait-for-them/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenek%2Fwait-for-them/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenek%2Fwait-for-them/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shenek","download_url":"https://codeload.github.com/shenek/wait-for-them/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247716094,"owners_count":20984172,"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":["cli","docker-compose","rust"],"created_at":"2024-08-01T15:06:03.500Z","updated_at":"2025-04-07T19:30:47.444Z","avatar_url":"https://github.com/shenek.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"![Security audit](https://github.com/shenek/wait-for-them/workflows/Security%20audit/badge.svg)\n![Code Quality](https://github.com/shenek/wait-for-them/workflows/Code%20Quality/badge.svg)\n![Release](https://github.com/shenek/wait-for-them/workflows/Release/badge.svg)\n[![Documentation](https://docs.rs/wait-for-them/badge.svg)](https://docs.rs/wait-for-them/)\n![Downloads](https://img.shields.io/crates/d/wait-for-them.svg)\n\n# Wait-For-Them\nWaits until all provided host and port pairs are opened or return status 200 in case of http(s) url.\nIt is written using async rust.\n\n![Cast](/wait-for-them.gif)\n\n\n## Installation\n\nThere are currently two way how to install the app.\n\nYou can install the binary only with a minimal subset of features.\n```bash\ncargo install wait-for-them --no-default-features\n```\n\nOr you can install it with all its features (including the nice progressbars and http(s) support).\n```bash\ncargo install wait-for-them\n```\n\n## Running\n\n### Wait forever\n```bash\nwait-for-them host1:port1 host2:port2 http://host3:8080/\n```\n\n### Wait with timeout (in milliseconds)\n```\nwait-for-them -t 5000 host1:port1 host2:port2 http://host3:8080/\n```\n\nNote that it returns a number of unopened host:port combinations.\nSo if it worked ok it returns standard `0`.\n\n### Execute a command after all hosts have opened ports\n```\nwait-for-them host1:port1 host2:port2 http://host3:8080/ -- cmd arg1 arg2\n```\n\nNote that if the ports are opened it returns the status code of cmd.\n\n## Motivation\nThe main motivation of this program was to use it within `docker-compose` config file (see `docker-compose.yml`).\nTo support waiting for multiple hostname:port records in parallel.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshenek%2Fwait-for-them","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshenek%2Fwait-for-them","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshenek%2Fwait-for-them/lists"}