Hi!
Im using a message queue to count data, while the data is sinked to a
file.
Then if the counter reaches X i want the old file to be closed and
continue
sinking in a new file. Then again if reaches X to switch to the old
file. So
my bottom part code looks like that:
tb = top_block()
tb.start()
a=0
while 1:
if tb.sink_queue.count()>X:
tb.gr_file_sink_0.close()
tb.sink_queue.flush()
if a==0:
tb.gr_file_sink_0.open(“PLACE_TO_SAVE\two”)
a=1
else:
tb.gr_file_sink_0.open(“PLACE_TO_SAVE\one”)
a=0
Right now, it simply closes the first file, but does not begin with the
second one. Can anyone help me with that? Thanks in advance
Right now, it simply closes the first file, but does not begin with the
second one. Can anyone help me with that? Thanks in advance
Hanz,
This shouldn’t make any difference, but the file_sink’s ‘open’ function
also closes any previously opened files. Try removing your call to
‘close’
and just rely on the open to close it, reopen the new file, and then
when
the work is called the next time, it will run ‘do_update’ to set up the
handles properly.
Also, you can try throwing in some debug prints to make sure both paths
are
actually being called properly.
Tom
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.