readyator
v2.0.0
Published
Waits for localhost ports to be ready before running a supplied command.
Downloads
387
Maintainers
Readme
Readyator
Waits for specified urls
or ports
on localhost to be ready before running a supplied command.
Installation
npm
npm install readyator
Yarn
yarn add readyator
Usage
Preface
- Addresses (
ports
orurls
) must be separated by comma if you want to check for multiple services to be ready ( returning a successful HTTP status code). - Your
command
must be surrounded by quotes so that it can be properly parsed. - The default check interval is 1s (1000ms) but can be changed.
Wait for ports
Command:
readyator [ports] [command]
Example:
readyator 8080,8081 "npm run start"
If you're not looking to perform any specific actions but simply want to determine when the service is available, use this command:
readyator 8080,8081 "exit 0"
Wait for URLs
Command:
readyator [urls] [command]
Example:
readyator https://www.google.com/,http://localhost:8081/ "npm run start"
Change check interval
Command:
readyator [urls] [command] [interval_in_millis]
Example:
readyator https://www.google.com/ "npm run start" 5000
Wait for healthy Docker container
Command:
readyator-docker [container_name] [interval_in_millis]
Example:
readyator-docker my_docker_container 1000
Node.js API
You can use readyator
also through its Node.js API:
import readyator from 'readyator';
await readyator([8080, 8081], 'npm run start');
It also supports executing a callback function:
import readyator from 'readyator';
const callback = () => {
console.log('System is online!');
};
readyator([8080, 8081], callback);
Readyator's programmatic interface can also be used to listen for Docker containers to become healthy:
import {runWhenHealthy} from 'readyator';
await runWhenHealthy('my_docker_container');
Development
Here is how you can easily test the readyator
from your development environment when checking out the code:
npm start https://www.google.com/ "npm run exit"