我有一个Clojure处理应用程序,它是一系列通道的管道。每个处理步骤都是异步进行计算的(即使用http-kit或其他方式进行http请求),并将其结果放在输出通道上。这样下一步就可以从该通道读取并进行计算。
我的主要函数如下:
基于调度程序的无限循环,使其可以永远运行。我需要改变这种架构,以便可以通过 REPL 关闭整个系统。关闭每个通道是否意味着系统终止?
广播通道是否有所帮助?
我的主要函数如下:
(defn -main [args]
(-> file/tmp-dir
(schedule/scheduler)
(search/searcher)
(process/resultprocessor)
(buy/buyer)
(report/reporter)))
目前,调度器步骤驱动管道(它没有输入通道)并为链条提供工作负载。
当我在 REPL 中运行此命令时:
(-main "some args")
基于调度程序的无限循环,使其可以永远运行。我需要改变这种架构,以便可以通过 REPL 关闭整个系统。关闭每个通道是否意味着系统终止?
广播通道是否有所帮助?