keep-alive-package
v1.0.3
Published
A simple package to keep a server alive by pinging it periodically.
Downloads
14
Maintainers
Readme
🛠️ Keep Alive Package
A simple and lightweight npm package to keep your server alive by periodically pinging it. Support human-readable time intervals like 1m
, 10m
, 1hr 29m
.
🚀 Installation
Install the package using npm:
npm install keep-alive-package
🔧 Usage
Import the package in your project and use it to keep your server alive:
const keepServerAlive = require("keep-alive-package");
// Basic usage with a server URL and interval
keepServerAlive(process.env.BACKEND_SERVER_URL, "10m");
📅 Supported Time Intervals
You can specify the interval using:
- Cron expressions:
*/5 * * * *
(every 5 minutes) - Human-readable formats:
"1m"
(every 1 minute)"10m"
(every 10 minutes)"1hr 29m"
(every 1 hour and 29 minutes)
📝 API
keepServerAlive(url, interval)
url
: (string) The server URL to ping. Required.interval
: (string) The interval for pinging the server. Supports cron expressions or human-readable intervals like1m
,10m
,1hr 29m
. Defaults to"10m"
.
Example
const keepServerAlive = require("keep-alive-package");
// Keep server alive every minute
keepServerAlive("https://your-server-url.com", "1m");
// Keep server alive every 1 hour and 29 minutes
keepServerAlive("https://your-server-url.com", "1hr 29m");
⚠️ Error Handling
If the server URL is missing or the interval is invalid, the package will log an error message to the console.
📦 Dependencies
- axios: For making HTTP requests.
- node-cron: For scheduling tasks.
- ms: For parsing human-readable time intervals.
🏗️ Contributing
Feel free to contribute by opening issues, submitting pull requests, or improving the documentation.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a pull request
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙌 Acknowledgements
Thanks to the developers of axios, node-cron, and ms for their great packages that make this tool possible!
Made with ❤️ by Ehsan