Ho trovato una dozzina di soluzioni per le app con alimentazione Express con l'impostazione della porta su cui ascoltare. Ma ho un'app che non usa Express e in effetti non ascolta nulla. E dopo 60 secondi di funzionamento riuscito, ricevo un messaggio Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
. Come posso aggirarlo? Grazie.
risposta
Dopo un sacco di googling ho deciso di npm install express
e aggiungere
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'));
});
Questo risolto l'errore, anche se non mi piace l'aggiunta espressa solo per evitare un errore. Se qualcuno trova una soluzione migliore, faccelo sapere.
Se la vostra applicazione non ascolta qualsiasi porta allora si dovrebbe utilizzare un altro tipo di applicazione in te Procfile, voglio dire in Procfile avete:
web: node app.js
sostituirla con:
worker: node app.js
tipo di applicazione "web" significa che la tua app DEVE ascoltare alcune porte
Come sembra, Heroku sembra ignorare le impostazioni nel Procfile. – Pille
@Pille, hai installato [node-foreman] (https://github.com/strongloop/node-foreman)? –
Nel mio caso era 'worker: npm start', ma l'idea rimane la stessa. Ha funzionato, grazie mille! –
Un altro modo sarebbe cambiare i dynos dal web (impostazione standard indipendentemente dalle impostazioni in Procfile) a worker w Con questi comandi:
heroku ps:scale web=0
heroku ps:scale worker=1
A volte Heroku ignora le impostazioni nel Procfile.
Il secondo comando non è riuscito per me. Ho dovuto prima impostare 'worker: npm start' nel mio Procfile. –
Questo ha funzionato per me, beh non ha avuto inizio finchè non ho rimosso il heroku ps: scale web = 0 line, grazie! – spences10
Ho lo stesso problema:
errore R10 (timeout di avvio) -> processo Web non è riuscito a legarsi a $ PORT entro 60 secondi dal lancio
ho provato molte cose.
Le seguenti opere senza usando espresso:
http.createServer(onRequest).listen(process.env.PORT || 6000)
dove devo impostare quella linea? – itReverie
Ho lo stesso problema, ma uso AdonisJS e non posso modificare questa riga ... –
- 1. Heroku Boot Timeout (Errore R10)
- 2. Heroku- Il processo Web non è riuscito a collegarsi a $ PORT entro 90 secondi dal lancio. TooTallNate Websockets
- 3. Timeout di avvio dell'app Heroku
- 4. Heroku multipla processo web
- 5. Impossibile installare * .apk sul timeout del dispositivo Lancio annullato
- 6. Errore H14 (nessun processo Web in esecuzione) distribuito su Heroku
- 7. Errore di timeout del processo di coda di laravel
- 8. Query MySQL riavviata ogni 60 secondi?
- 9. Heroku console run ottenere "Timeout in attesa di processo"
- 10. Errori di invio a Heroku (node.js)
- 11. errore di lancio variabile "indefinito", impossibile trovare
- 12. Chiamare una funzione ogni 60 secondi
- 13. ActiveRecord :: ConnectionTimeoutError: impossibile ottenere una connessione al database entro 5.000 secondi (atteso 5.000 secondi)
- 14. Timeout da Node.js a Socket.io
- 15. Errore di Hoku H14 (Nessun processo Web in esecuzione)
- 16. Avvio processo MVC4 WebApi
- 17. NSURLErrorDomain Codice = -1004 per alcuni secondi dopo l'applicazione di avvio
- 18. "Risposta diretta con Node.js" - Invio di risposta HTTP con diverso processo Node.js (diverso dal processo principale)
- 19. Script PHP Timeout dopo 45 secondi
- 20. Applicazione Node.js HTTPS su Heroku
- 21. "impossibile ottenere una connessione firefox stabile in 60 secondi" utilizzando l'ultimo selenio-webdriver
- 22. Errore R12 (Exit timeout) mediante raccomandata config Unicorn di Heroku
- 23. È possibile impostare session.gc_maxlifetime> 65535 secondi
- 24. Errore di generazione ed esecuzione Xcode: "Avvio del processo non riuscito: impossibile ottenere l'attività per il processo 216"
- 25. Avvio di un'app in heroku? Cos'è procfile? 'web:' comando?
- 26. Avvio automatico IIS non disattivato Timeout inattività
- 27. Problema di Eclipse - Errore di avvio: impossibile connettersi alla VM remota. Timeout della connessione
- 28. errore di avvio java virtual machine: impossibile accedere a jarfile
- 29. timeout di cURL su heroku
- 30. Errore di timeout del servizio Web in Delphi
non sono sicuro che cosa è la soluzione migliore, ma una cosa che so (che ha fatto il lavoro) è stato quello di utilizzare Node.js modulo incorporato 'http 'invece di richiedere il modulo espresso. '' 'var http = require ('http'); http.createServer (function (req, res) { res.writeHead (200, {'Content-Type': 'text/plain'}); res.send ('è in esecuzione \ n'); }). listen (process.env.PORT || 5000); '' ' –
Guarda la risposta qui sotto su come cambiare il tuo procfile e ridimensionare le tue dinamiche con @pille. È molto meglio di questa risposta in quanto non è una soluzione, ma il modo corretto per farlo. – otusweb