All Projects → codeshifu → Pingmydyno

codeshifu / Pingmydyno

Licence: mit
Keep Heroku dynos awake forever ☕️

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Pingmydyno

Packtpub Crawler
Download your daily free Packt Publishing eBook https://www.packtpub.com/packt/offers/free-learning
Stars: ✭ 717 (+3159.09%)
Mutual labels:  heroku
Url To Pdf Api
Web page PDF/PNG rendering done right. Self-hosted service for rendering receipts, invoices, or any content.
Stars: ✭ 6,544 (+29645.45%)
Mutual labels:  heroku
Gautocloud
A golang library to let cloud applications connect automatically to services.
Stars: ✭ 17 (-22.73%)
Mutual labels:  heroku
Node Typescript Koa Rest
REST API boilerplate using NodeJS and KOA2, typescript. Logging and JWT as middlewares. TypeORM with class-validator, SQL CRUD. Docker included. Swagger docs, actions CI and valuable README
Stars: ✭ 739 (+3259.09%)
Mutual labels:  heroku
Zws
Shorten URLs using invisible spaces.
Stars: ✭ 780 (+3445.45%)
Mutual labels:  heroku
Traypingapp
📡 OSX tray application showing DNS and ping latency
Stars: ✭ 5 (-77.27%)
Mutual labels:  ping
Fping
High performance ping tool
Stars: ✭ 652 (+2863.64%)
Mutual labels:  ping
Django Photoblog
Photographer portfolio website powered by Django Framework. Features photo gallery with infinite scrolling, tagging, thumbnail generation and CMS for creating pages. Configured for Heroku and S3.
Stars: ✭ 19 (-13.64%)
Mutual labels:  heroku
Www.ruby Lang.org
Source of the https://www.ruby-lang.org website.
Stars: ✭ 790 (+3490.91%)
Mutual labels:  heroku
Haiku
🚀 Instant Heroku deploys from GitHub branches
Stars: ✭ 17 (-22.73%)
Mutual labels:  heroku
Rails Template
Application template for Rails 6 projects; preloaded with best practices for TDD, security, deployment, and developer productivity.
Stars: ✭ 763 (+3368.18%)
Mutual labels:  heroku
Jekyll Auth
A simple way to use GitHub OAuth to serve a protected Jekyll site to your GitHub organization
Stars: ✭ 778 (+3436.36%)
Mutual labels:  heroku
Heroku Cra Node
⚛️ How to use create-react-app with a custom Node server on Heroku
Stars: ✭ 822 (+3636.36%)
Mutual labels:  heroku
Ghost On Heroku
One-button Heroku deploy for the Ghost blogging platform.
Stars: ✭ 731 (+3222.73%)
Mutual labels:  heroku
Is Online
Check if the internet connection is up
Stars: ✭ 894 (+3963.64%)
Mutual labels:  ping
Cli
Heroku CLI
Stars: ✭ 685 (+3013.64%)
Mutual labels:  heroku
Satis On Heroku
Your private Satis instance on Heroku, just one click away.
Stars: ✭ 5 (-77.27%)
Mutual labels:  heroku
Piku
The tiniest PaaS you've ever seen. Piku allows you to do git push deployments to your own servers.
Stars: ✭ 902 (+4000%)
Mutual labels:  heroku
Great Big Example Application
A full-stack example app built with JHipster, Spring Boot, Kotlin, Angular 4, ngrx, and Webpack
Stars: ✭ 899 (+3986.36%)
Mutual labels:  heroku
Heroku Django Template
A Django 2.0 base template featuring all recommended best practices for deployment on Heroku and local development.
Stars: ✭ 887 (+3931.82%)
Mutual labels:  heroku

pingmydyno

Keep Heroku dynos awake forever ☕️

License: MIT PRs Welcome GitHub contributors

Why?

Heroku (free) dynos are great for hosting apps and showing them off to your boss/friends or potential employer. The downside, however, is that your app will fall asleep 😴 if it doesn't receive any web traffic within a 30-minute window.

pingmydyno solves this by pinging your server periodically so it never falls asleep.

Features

  • Forever dyno pings
  • Automatically retry ping on failure

Installation

npm install pingmydyno

# or using yarn

yarn add pingmydyno

Usage

With Express.js (ES6 module)

...
import express from 'express';
import pingmydyno from 'pingmydyno';

const app = express();

...

app.listen(PORT, () => {
    pingmydyno('https://myapp.herokuapp.com');
});

With Hapi.js (commonJS)

const Hapi = require('hapi');
const pingmydyno = require('pingmydyno');

const server = Hapi.server({ port, host });

async () => {
  await server.start();
  pingmydyno('https://myapp.herokuapp.com');
};

With Koa.js

const Koa = require('koa');
const pingmydyno = require('pingmydyno');

const app = new Koa();
const url = process.env.APP_URL;

...

app.listen(3000).on('listening', () => {
    pingmydyno(url, {
        pingInterval: 60 * 15 * 1000, // ping every 15mins
        onFailure() {
            // logger
        }
    })
})

APIs

pingmydyno(url, [Config])

url

Type: string

Required: yes

Config

Type: Object

Required: no

value default description
pingInterval number (milliseconds) 1200000 interval between the next ping (max = 25mins)
maxRetry number 2 retry times when ping fail
onSuccess function ( ) => null callback function called when a ping is successful
onFailure function ( ) => null callback function called when maxRetry ping failed

Contributors

Thanks goes to these wonderful people (emoji key):

Kizito Akhilome
Kizito Akhilome

💻
Luqman Olushi O.
Luqman Olushi O.

🐛 💻 📖 🚧

This project follows the all-contributors specification. Contributions of any kind welcome!

License

This project is license under MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].