我有兴趣为Heroku中特定类型的每个工作人员分配不同的工作负载。工作负载是连续的而不是离散的,因此工作队列是不合适的。我可以通过数据库或Zookeeper协调工作,但这会带来复杂性和可靠性问题。
我知道Heroku dynos的名称是worker.1
,但我很好奇这些名字是如何分配的,如果我可以依赖它们来获得某些属性。我只对工作人员dynos的行为感兴趣,因为web preboot可能会改变web dynos的行为。
具体地,
ps:scale
是n
,我可以依赖dyno名称worker.1
,worker.2
... worker.n
或者我有时会得到(1, n)
以外的数字?如果有可能在(1, n)
之外获得数字,在什么情况下会发生?我希望创建一个将工作人员编号映射到工作任务的配置,这样我就可以依靠工人编号来确定1到n。