producer will write a single line of string to file every 1s
require 'securerandom'
fd = IO.sysopen("/tmp/lala.log", "w+")
writer = IO.new(fd)
writer.sync = true
i = 1
while true do
writer.puts "#{i} - #{SecureRandom.uuid}"
sleep 1
i += 1
end
writer.close
subscriber will read a file every 3s
fd = IO.sysopen("/tmp/lala.log")
reader = IO.new(fd)
while (row = reader.gets) != nil do
data = row.chomp
puts ">>> #{data}"
if reader.eof?
puts "--------"
sleep 3
end
end
reader.close