Dans les applications gratuites Heroku, les dynos semblent tourner au ralenti - mon application a un trafic très faible, mais il n'est également pas vraiment acceptable dans mon cas que mes utilisateurs doivent attendre plus de 20 secondes pour faire tourner un nouveau dyno.
Franchement, avec ce genre d'attente, beaucoup partiront avant même que la première page ne s'affiche.
Donc, j'ai un problème: devrais-je payer 36 $ par mois pour économiser à chaque utilisateur une durée embarrassante de 20 secondes lorsque mon trafic est à un chiffre par jour.
Y a-t-il un moyen de contourner ceci??
Réponses:
Vous pouvez installer le module complémentaire New Relic gratuit . Il dispose d'une fonction de surveillance de la disponibilité qui exécutera une commande ping sur votre site deux fois par minute, empêchant ainsi le dynamomètre de tourner au ralenti.
Plus ou moins la même solution que Jesse mais peut-être plus intégrée à Heroku ... Et avec quelques avantages (la surveillance des performances est tout simplement géniale).
la source
Comme alternative à Pingdom, je suggère d'essayer Uptimerobot . Il est gratuit et offre une vérification du site à 5 minutes d'intervalle. Cela fonctionne très bien pour moi.
MISE À JOUR du 7 mai 2015: Cela ne sera plus possible, car Heroku changera son dyno gratuit pour éviter de le garder en vie pendant 24 heures:
Quand est-ce que ça va être en direct? Selon leur article de blog:
la source
http://
et obtenir une erreur.À mon avis, l'utilisation du niveau «gratuit» du service ne devrait pas alimenter une application de production ou orientée client. Bien que les solutions ci-dessus fonctionnent contre le ralenti Dyno, réfléchissez bien à ce que vous faites.
Si rien d'autre, utilisez une tâche cron pour envoyer une requête ping à votre site et désactivez la vérification des périodes connues de faible utilisation (c'est-à-dire la nuit) pour vous assurer que Heroku ne supprime pas le niveau gratuit pour tout le monde.
la source
Vous pouvez également essayer http://kaffeine.herokuapp.com (créé par mes soins), il est conçu pour empêcher les applications Heroku de s'endormir. Il exécutera une commande ping sur votre application toutes les 10 minutes afin que votre application ne se mette pas en veille. C'est totalement gratuit.
la source
Vous pouvez utiliser http://pingdom.com/ pour vérifier votre application; si cela est fait toutes les minutes, heroku ne ralentira pas votre application et n'aura pas besoin de tourner.
la source
Réponse facile - si vous appréciez le service, payez-le.
Toutes ces «astuces» pour profiter des avantages d'un service payant ... eh bien, c'est essentiellement comme voler du câble. Discutable même de les énumérer ici. Quelle est la prochaine étape, comment pirater des jeux?
Comme une autre affiche ici, j'apprécie le service gratuit de développement et de test et je serai très ennuyé par tous les types à éthique si Heroku le supprime car il y a trop de freeloaders. Je ne pense tout simplement pas qu'il ait été assez direct dans ses critiques.
la source
Testé et travaillant sur ma propre application Heroku à l'aide de Node.js 0.10.x le 28/06/2013
la source
J'utilise l'addon Heroku Scheduler fourni gratuitement par Heroku. Une fois ajouté, il est simple de créer un travail avec «curl http://yourapp.herokuapp.com » et un intervalle de 10 minutes.
la source
Il est dit dans la documentation Heroku qu'avoir plus d'un dyno web ne sera jamais inactif. Peut-être une solution moins chère que 0,09 $ / heure comme le suggère Pierre.
Documentation
la source
J'ai noté les étapes:
➜ Ajoutez la gem 'newrelic_rpm' à votre Gemfile sous staging & production
➜ bundle install
➜ Connectez-vous au panneau de contrôle heroku et ajoutez newrelic addon
➜ Une fois ajouté, configurez le ping automatique sur votre site Web pour qu'il ne reste pas inactif
➜ Naviguez vers Menu> Surveillance de la disponibilité ( sous Paramètres) → Cliquez sur «Activer la surveillance de la disponibilité»
➜ Entrez l'URL pour cingler (par exemple: http://spokenvote.org )
➜ Sélectionnez 1 minute pour l'intervalle
la source
J'ai trouvé un autre site gratuit qui testera constamment votre site appelé Unidler
http://unidler.herokuapp.com/
Identique à pingdom, mais n'a pas besoin de se connecter.
la source
Notez que les nouveaux types de dyno ( actuellement en version bêta , entrants en juin 2015) interdiront de garder un dyno gratuit éveillé 24/7, car il devrait dormir au moins 6 heures par jour.
Essayez donc de supprimer toute solution que vous avez trouvée dans ce fil avant que cela ne sorte (ou payez pour le service que vous utilisez réellement).
la source
Si vous avez accès à un serveur Unix toujours actif, vous pouvez définir un travail cron sur
GET
votre site Web. Selon les nouvelles conditions du plan gratuit, vous voudrez probablement désactiver lesGET
s pendant la nuit, en utilisant une ligne dans votre crontab comme ceci:Cela demande
curl
àGET
domain.com toutes les 20 minutes entre les heures de 8 et 22.Soit conscient que
Assurez-vous également que l'heure de votre système est correctement configurée afin que la fenêtre d'indisponibilité se produise lorsque vous vous y attendez.
la source
La plupart des réponses ici sont obsolètes ou ne fonctionnent pas actuellement. Le niveau gratuit actuel pour les comptes personnels donne une base de 550 heures de dyno gratuites chaque mois.
Et un compte gratuit vérifié vous donne 1000 heures de dyno gratuit. J'ai écrit un article sur la façon dont j'ai rendu mon application gratuite éveillée.
https://link.medium.com/uDHrk5HAD0
J'espère que cela aidera toute personne qui a besoin d'une solution en 2019
la source
ce travail pour moi dans une application de printemps faisant une requête http toutes les 2 minutes vers le chemin de l'URL racine `
N'oubliez pas de configurer votre contexte pour activer le planificateur et créer le bean pour votre planificateur
la source
Guy, voici une application Heroku que vous pouvez exécuter pour garder plusieurs applications Heroku en vie. Ajoutez simplement les URL que vous souhaitez envoyer dans le fichier config.json.
https://github.com/jcarras/rise-and-shine
la source
J'ai une application qui ne doit fonctionner que du lundi au vendredi vers midi. Je viens d'ajouter le script suivant à la crontab au travail:
Donc, pour n'importe quelle application, déposez simplement une autre ligne dans votre crontab comme:
la source
Je pense que la solution la plus simple est d'auto-exécuter votre propre serveur toutes les 30 minutes. Voici le code que j'utilise dans mon projet node.js pour éviter de dormir.
la source
Une autre solution de travail: wokeDyno Voici un article de blog sur la façon dont cela fonctionne: Il est intégré dans l'application très facilement:
la source
Un travail cron fera l'affaire. Voir https://cron-job.org . C'est gratuit et fiable.
la source