Snažím sa nainštalovať New Relic, ale hovorí, že budem musieť urobiť zmeny Procfile
, Zdá sa mi, že to nie je v koreňovom kóde lokálnej kópie mojej aplikácie, ale používam Django.
Vďaka
odpovede:
0 pre odpoveď č. 1Táto stránka na Heroku dáva oveľa viac informácií o tom, čo je procfile: https://devcenter.heroku.com/articles/procfile
Nemusíte mať k Heroku nasadenie, ale môžete ho vytvoriť manuálne, aby ste získali väčšiu kontrolu nad tým, ako Heroku spúšťa vaše aplikácie .. Podľa tohto výňatku z vyššie uvedeného odkazu:
Procfile nie je potrebné na nasadenie aplikáciípísaný vo väčšine jazykov podporovaných Heroku. Platforma automaticky rozpozná jazyk a vytvorí predvolený typ webového procesu na zavedenie aplikačného servera.
Vytvorenie explicitného súboru Procfile sa odporúča pre väčšiu kontrolu a flexibilitu vo vašej aplikácii.
Aby mohol Heroku používať Procfile, pridajte Procfile do koreňového adresára aplikácie 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 pre odpoveď č. 2
Pre novú relikovú podporu musíte výslovne povedať Heroku, aby v New Relic spustil inštanciu gunicorn. Takže tvoje Procfile
by vyzerať nejako takto:
newrelic-admin run-program gunicorn --workers 4 --worker-class gevent --timeout 60 mysite.wsgi
Môžete to zapnúť alebo vypnúť bez zmeny Procfile
podmienečne hľadáte svoju licenciu New Relic v prostredí Heroku premenné:
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