web-dev-qa-db-fra.com

Heroku Node.js Erreur R10 (délai d'attente au démarrage) -> Le processus Web n'a pas pu se lier à $ PORT dans les 60 secondes suivant son lancement.

J'ai trouvé une douzaine de solutions pour les applications fonctionnant avec Express avec un port de configuration sur lequel écouter . Mais j'ai une application qui n'utilise pas Express et n'écoute rien en fait . Je reçois un message Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch. Comment puis-je le contourner? Merci.

16
fivepointseven

Après beaucoup de recherches sur Google, j’ai décidé de npm install express et d’ajouter

var express = require('express');
var app     = express();

app.set('port', (process.env.PORT || 5000));

//For avoidong Heroku $PORT error
app.get('/', function(request, response) {
    var result = 'App is running'
    response.send(result);
}).listen(app.get('port'), function() {
    console.log('App is running, server is listening on port ', app.get('port'));
});

Cela a corrigé l'erreur, même si je n'aime pas ajouter express simplement pour éviter une erreur. Si quelqu'un trouve une meilleure solution, s'il vous plaît faites le moi savoir.

32
fivepointseven

Si votre application n'écoute aucun port, vous devez utiliser un autre type d'application dans votre Procfile. Je veux dire dans Procfile, vous avez: 

web: node app.js

remplacez-le par: 

worker: node app.js

le type d'application "web" signifie que votre application DOIT écouter un port

27
sergiy.dragunov

Une autre façon serait de changer le dynos du web (paramétrage standard quels que soient les paramétrages dans Procfile) en worker avec ces commandes:

heroku ps:scale web=0
heroku ps:scale worker=1

Parfois, Heroku ignore les paramètres du fichier Procfile.

19
Pille

J'ai le même problème:

Erreur R10 (délai de démarrage) -> Le processus Web n'a pas réussi à se lier à $ PORT dans les 60 secondes suivant son lancement

J'ai essayé beaucoup de choses.

Ce qui suit fonctionne sans utiliser express:

http.createServer(onRequest).listen(process.env.PORT || 6000)
0
Ferry Sanjaya