/ / Gdzie jest Procfile? - heroku

Gdzie jest Procfile? - heroku

Próbuję zainstalować New Relic, ale jest napisane, że będę musiał dokonać zmian Procfile. Nie mogę go jednak znaleźć w katalogu głównym lokalnej kopii mojej aplikacji. Używam Django.

Dzięki

Odpowiedzi:

0 dla odpowiedzi № 1

Ta strona na Heroku daje dużo więcej informacji na temat tego, czym jest procfile: https://devcenter.heroku.com/articles/procfile

Nie musisz go instalować w Heroku, ale możesz ręcznie utworzyć taki, aby mieć większą kontrolę nad tym, jak Heroko uruchamia Twoje aplikacje. W tym fragmencie powyższego linku:

Plik Procfile nie jest konieczny do wdrażania aplikacjinapisane w większości języków obsługiwanych przez Heroku. Platforma automatycznie wykrywa język i tworzy domyślny typ procesu WWW, aby uruchomić serwer aplikacji.

Zalecane jest utworzenie jawnego pliku Procfile, aby zapewnić większą kontrolę i elastyczność w stosunku do aplikacji.

Aby Heroku użył Twojego pliku Procfile, dodaj plik Procfile do katalogu głównego swojej aplikacji push do Heroku:

$ git add .
$ git commit -m "Procfile"
$ git push heroku
...
-----> Procfile declares process types: web, worker
Compiled slug size is 10.4MB
-----> Launching... done
http://strong-stone-297.herokuapp.com deployed to Heroku

To git@heroku.com:strong-stone-297.git
* [new branch]      master -> master

0 dla odpowiedzi nr 2

Aby uzyskać wsparcie dla New Relic, musisz wyraźnie powiedzieć Heroku, aby uruchomił instancję Gunicorn w New Relic. Więc twój Procfile wyglądałoby mniej więcej tak:

newrelic-admin run-program gunicorn --workers 4 --worker-class gevent --timeout 60 mysite.wsgi

Możesz włączyć lub wyłączyć to bez zmiany Procfile warunkowo szukając licencji New Relic w zmiennych środowiskowych Heroku:

Procfile:
web: bash scripts/heroku_run
scripts/heroku_run:
#!/bin/bash

run_command="gunicorn --workers 4 --worker-class gevent --timeout 60 mysite.wsgi"

# Run through New Relic monitoring if add-on installed
if [[ $NEW_RELIC_LICENSE_KEY != "" ]]; then
newrelic-admin run-program $run_command
else
$run_command
fi