首页 文章

Heroku免费套餐,用于在一个应用程序中实现不间断的Web和工作进程

提问于
浏览
1

我有一个Python应用程序,每分钟ping一次API并将数据记录到数据库中 . 我还有一个Django网络应用程序,它是显示这些数据的客户端(它也应该不是空闲的,我将在下面解释) .

Heroku最近再次对其免费套餐进行了更改,允许每月1000小时进行验证帐户 . 我已经验证了我的帐户以利用此功能 . 我不清楚的是如何在我的情况下计算使用小时数 . 我的Heroku应用程序是否会每月累计约750小时,或者在不间断运行后累积2x750小时? Procfile中的两条线是否被视为单独的dynos,因此每个线路每月会累积750个小时?

Setup

Procfile:
worker: python api_crawler.py
web: gunicorn api_data_client.wsgi --log-file -

我发现,如果Web进程在30分钟不活动后开始空闲,它也会使工作进程失效 . 这对我来说不是一个理想的结果,因为我需要工作进程不间断地运行 . 经过一番阅读后,我发现“New Relic”监控插件可以帮助防止网络进程空转,这很好,除非我的每月工作时间超过1000小时 .

1 回答

  • 1

    proc文件中的每一行都会创建一个单独的dyno,所以如果你不能让任何一个进程空闲,1000小时是不够的 . 但是,如果您在30分钟不活动后可以正常使用网络dyno,并且假设您没有太多网络流量,那么您应该能够保持工作流程全天候运行,并且您的网络流程可能会消耗更少比约每月250个小时,所以你可以把所有东西都装进1000小时的免费等级 .

    当您的Web进程闲置时,Heroku不应该闲置您的工作进程 . 不确定为什么你写了你认为它的确如此 .

相关问题