Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re^3: Man, File::Tail is just beating me down!

by starbolin (Hermit)
on Jan 18, 2008 at 06:18 UTC ( #663014=note: print w/replies, xml ) Need Help??

in reply to Re^2: Man, File::Tail is just beating me down!
in thread Man, File::Tail is just beating me down!

Rereading my post I realize that I was very unclear as to what I was seeing. I was assuming only the evidence you had for a restart was the logger script. If I was wrong then please supply any other logs you may have. Seeing that the logger was flawed I assumed that cleaning up the logger would give a clearer picture of what was happening. I saw nothing in what you had posted to convince me it wasn't a logger problem. Are you saying that some problem manifests itself even without the posted logger script running?? You'll have to excuse me in that I was a bit myopic in focusing on the code that was posted.

Could you, please, post the code in the host machine that calls the suspected module?

s//----->\t/;$~="JAPH";s//\r<$~~/;{s|~$~-|-~$~|||s |-$~~|$~~-|||s,<$~~,<~$~,,s,~$~>,$~~>,, $|=1,select$,,$,,$,,1e-1;print;redo}

Replies are listed 'Best First'.
Re^4: Man, File::Tail is just beating me down!
by hallikpapa (Scribe) on Jan 18, 2008 at 19:12 UTC
    Originally it showed in the log on the client. There is a sequence number in each record that the process watches. If the sequence number was less than the current one, it figured it was a restart. printed to the log what the previous sequence number was, and the current one, and over and over everytime it got to that warning in the log, the sequence number was from the first record in the file. In my original post I put the logic to watch for a restart so it wouldn't try and stream all that data. that had been processed already. That code in the original post is almost the whole script minus the Socket connection. First the script receives the last record inserted into the database, creates the file::tail instance, then starts processing the log file and doesn't start streaming records until it gets to last line inserted. I guess that was a long winded way of saying everything is in the original post of this thread. I am convinced that one of the options I set here
    $file=File::Tail->new(name=>$filename, maxinterval=>5, interval=>1, ta +il=>-1, ignore_nonexistant => 1, errmode=>\&do_exit);
    has something in it's subroutine that causes a restart when I don't want one. It also looks like he does some sort of seek? Maybe to find where it left off? That would be cool to jump straight to where it left off by tracking the bytes. :)

      Tail is not restarting. It is reopening the file and the dumping the file again as per the default setting of reset_tail. Set reset_tail to 0 to not receive the whole file each time there is a pause in the logs.

      s//----->\t/;$~="JAPH";s//\r<$~~/;{s|~$~-|-~$~|||s |-$~~|$~~-|||s,<$~~,<~$~,,s,~$~>,$~~>,, $|=1,select$,,$,,$,,1e-1;print;redo}

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://663014]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (9)
As of 2017-06-29 13:48 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (669 votes). Check out past polls.