gpt4 book ai didi

Redis 订阅 julia 脚本不工作

转载 作者:IT王子 更新时间:2023-10-29 06:05:20 25 4
gpt4 key购买 nike

我正在使用 Julia v0.4.5 并使用这个简单的 julia 脚本从 redis channel 订阅:

using Redis

subHandler(x) = print(x)
errHandler(err) = print(err)

redisConn = RedisConnection(host="127.0.0.1", port=6379, db=0)
flushall(redisConn)

subConn = open_subscription(redisConn, errHandler)
subscribe(subConn, "julia-channel", subHandler)

如果我在 Julia repl 中逐行键入此脚本,它会按预期工作。
但是,如果我将此代码放入脚本文件并从 shell 运行:

julia sub.jl

Julia 几秒钟后退出,什么也没打印出来..
也许我应该将订阅置于某种线程或循环中(以保持 julia 运行)?

最佳答案

受到 FGFW 和 DanielArndt 的启发,我刚刚找到了答案。
简而言之,在 subscribe() 之后,添加以下代码以保持 julia 运行:

while (true)
sleep(1)
end

解释:
根据 redis.jl 自述文件, subscribe() 产生一个后台例程来处理服务器发布事件。但是,在脚本模式下,julia 主线程(例程)在 subscribe() 之后退出,因此后台例程也将终止。 while - sleep 循环防止主循环退出。
Repl 维护用户交互循环,因此我们不必手动循环。

关于Redis 订阅 julia 脚本不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36592752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com