Heroku

2016-08-25 40 views
8

üzerinde basit python betiği çalıştıran Ben Heroku üzerinde barındırmak ve Heroku scheduler kullanarak her 10 dakikada çalıştırmak istiyorum basit bir python script var. Yani birisi bana programlayıcıdaki komisyon komutunda ne yazmam gerektiğini ve Heroku'nun Procfile'sini nasıl değiştirmem gerektiğini açıklayabilir mi?Heroku

+0

Umut birisi bu yararlı https://github.com/nabinkhadka/simple-flask-heroku-app – Nabin

cevap

12

Tabii, bir şeyler yapmak gerekir:

  1. bağımlılıkları listeler projenizin kök bir requirements.txt dosyasını tanımlayın. Bu, Heroku'nun bir Python uygulaması kullandığınızı algılamak için kullanacağı şeydir.

  2. Heroku scheduler addon'da, python komut dosyasını başlatmak için çalıştırmanız gereken komutu tanımlayın. Muhtemelen python myscript.py gibi bir şey olacaktır. Son olarak, doğru Heroku PORT'u dinleyecek bir çeşit web sunucusuna sahip olmanız gerekir - aksi halde Heroku uygulamanızın çalışmadığını ve "çökmüş" durumda olacağını düşünecektir - istediğin şey değil. Bu Heroku gereksinimi karşılamak için, ...

Kod (server.py) böyle bir gerçekten basit Matara web sunucusu çalıştırabilirsiniz: senin Procfile yılında

from os import environ 
from flask import Flask 

app = Flask(__name__) 
app.run(environ.get('PORT')) 

Sonra, sadece söylemek: web: python server.py.

Ve bu should

+1

Çok teşekkürler bulur) = bunu hemen! Bu benim için çalışan güzel bir özlü öğretici oldu. – rosstex

+0

Heroku, programlayıcının her zaman süper güvenilir olmadığı konusunda uyardı. Kereviz kullanmayı düşünebilirsiniz. – joshlsullivan

+1

Bu senaryoda web sunucusu gerekli değildir ve kaynak israfıdır. Web sunucusunu aşağıdaki komutla 0 örneğine kadar ölçeklendirebilirsiniz: heroku ps: scale web = 0 –