我的烧瓶应用使用geodis
依赖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()
如何将其设置为在部署时运行一次?
答案 0 :(得分:0)
我认为一种方法是使用应用程序初始化函数。
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'])
这会在创建应用程序之前运行它。