在通过 Nginx/Unicorn 部署时,我遇到的一个问题是如何与正在运行的实例取得联系。我需要这个来更新应用程序的内存缓存。
使用 Nginx/Thin,我在各种端口上运行多个实例并按端口调用应用程序实例,例如:
#!/bin/bash
curl :2000/update_cache/page_id
curl :2001/update_cache/page_id
etc.
丑陋的方法,但它有效,因为我可以在所有正在运行的应用程序实例上更新单个页面(来自数千个)的缓存。
我想知道如何对 Unicorn 做同样的事情,但不是通过端口。Unicorn 是否提供了正在运行的实例列表或某种与它们交互的方式?
内存缓存的问题是,在某些实例上更新它时,它通常不会在其他实例上更新,所以我得到内容差异,因为有些用户看到更新的内容,而其他用户却仍然使用旧内容。
如何更新所有 Unicorn 实例的缓存?