使用仅两个.py文件部署python应用程序但将其保存在一个dyno中的最简单方法是什么?我的文件是friend.py
和foe.py
,我的Procfile如下所示:
worker: python friend.py
worker: python foe.py
但是当部署到Heroku时,我唯一的dyno就是foe.py.我已经阅读了其他类似的问题,但它们似乎很复杂,我还不了解python Web应用程序的内部工作原理。
答案 0 :(得分:1)
如果它们是并行工作的不同进程,则最直接的路径是两个dynos,在{{1}中使用不同的名称(实际上,friend
和foe
可以正常工作) }。现在,您使用名称Procfile
两次,因此worker
显示,因为它是最后定义的。要记住两件事 -
foe.py
中的名字可以是任意的;据我所知,唯一的“特殊”名称是Procfile
,它告诉Heroku期望该进程绑定到端口并接受来自路由网格的HTTP流量。 web
并不特别;这只是人们倾向于用于“除了网络动态之外的其他东西”的惯例。如果你真的只需要一个dyno(成本?),你可以编写第三个脚本,其唯一的工作是将worker
和friend.py
作为子进程生成。在这种情况下,一切都作为一个单元上下起伏;你不能独立管理好友和敌人。
希望有所帮助。