Waits for specified urls
or ports
on localhost to be ready before running a supplied command.
npm install readyator
yarn add readyator
- 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.
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"
Command:
readyator [urls] [command]
Example:
readyator https://www.google.com/,http://localhost:8081/ "npm run start"
Command:
readyator [urls] [command] [interval_in_millis]
Example:
readyator https://www.google.com/ "npm run start" 5000
Command:
readyator-docker [container_name] [interval_in_millis]
Example:
readyator-docker my_docker_container 1000
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');
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"