我使用Broadway和BroadwayKafka作为生产者,考虑到我的用例,我必须在运行时启动和停止百老汇。
在运行时启动百老汇已经没有问题了。然而,我很难找到一种方法来优雅地关闭百老汇进程。百老汇模块本身不提供停止进程的函数(据我所知),因此,我目前通过Process.exit(broadway_pid, :kill)手动终止进程。这当然是可行的,但可能不是关闭百老汇的本意。
在不残暴地扼杀百老汇进程的情况下,关闭百老汇的最干净的方法是什么?
发布于 2020-08-07 19:16:33
Broadway delegates to Broadway.Topology,这显然是一个很老的好GenServer,所以你可以这样GenServer.stop/3它:
GenServer.stop(Broadway.Topology, :normal)这将经历所有OTP正常关闭过程(回调等)。
https://stackoverflow.com/questions/63300569
复制相似问题