我有一个 Ruby webapp,它在轻量级层中缓存了一些常用信息,但有时我想在不重新启动整个过程的情况下重置缓存。
在我开始使用 Unicorn 之前,我有一个已知的端口列表,我可以发送一个特殊的 HTTP 请求来重置每个实例上的缓存。但是,在 Unicorn 下,Unicorn 进程处理所有 HTTP 请求并将它们单独传递给子进程。
在这种模式下,是否有一种简单的机制可以向每个启动的实例发送消息以重置其缓存?
除了使用 after_fork 的主端口之外,您还可以将工作人员配置为每个侦听一个唯一端口,并将请求发送到这些端口中的每一个。请参阅Unicorn::Configurator文档。