我有一个Python应用程序,每分钟ping一次API并将数据记录到数据库中。我还有一个Django网络应用程序,它是显示这些数据的客户端(它也应该不是空闲的,我将在下面解释)。
Heroku最近再次对其免费套餐进行了更改,允许每月1000小时进行验证帐户。我已经验证了我的帐户以利用此功能。我不清楚的是如何在我的情况下计算使用小时数。我的Heroku应用程序每月会累积约750小时,或者在不间断运行后累积2x750小时? Procfile中的两条线是否被视为单独的dynos,因此每条线路每月会累积750小时?
设置
Procfile:
worker: python api_crawler.py
web: gunicorn api_data_client.wsgi --log-file -
我发现如果网络进程在30分钟不活动后开始空闲,它也会使工作进程失效。这对我来说不是一个理想的结果,因为我需要工作进程不间断地运行。经过一番阅读后,我发现了“新文物”。监控插件可以帮助保持网络进程免于空闲,这很好,除非我将在每月1000小时内用完。
答案 0 :(得分:1)
procfile中的每一行都会创建一个单独的dyno,所以如果你不能让任何一个进程空闲,1000小时是不够的。 但是,如果您在30分钟不活动后可以正常使用网络dyno,并且假设您没有太多网络流量,那么您应该能够保持工作流程全天候运行,并且您的网络流程可能会消耗更少比约每月250个小时,所以你可以把所有东西都装进1000小时的免费等级。
当您的网络进程闲置时,Heroku不应该闲置您的工作进程。不知道为什么你写下你认为它的确如此。