[英]running a python script once on deploy on heroku
我有一個燒瓶應用程序,該應用程序使用的geodis
依賴於redis
, redis
充當從geodis
映射到經緯度的城市的緩存。
我的這段代碼在heroku上安裝flask Web應用程序時只需運行一次,
from geodis.provider.geonames import GeonamesImporter
import geodis
fileName = os.path.split(geodis.__file__)[0] + "/data/cities1000.json"
importer = GeonamesImporter(fileName, os.getenv("REDIS_HOST"), os.getenv("REDIS_PORT"), 0)
importer.runimport()
如何設置它以便在部署時運行一次?
我認為一種方法是使用應用程序初始化功能。
if __name__ == "__main__":
fileName = os.path.split(geodis.__file__)[0] + "/data/cities1000.json"
importer = GeonamesImporter(fileName,
os.getenv("REDIS_HOST"),
os.getenv("REDIS_PORT"), 0)
importer.runimport()
app.run(host='0.0.0.0', port=app.config['PORT'])
這將在創建應用程序之前運行它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.