Alexander S. Kunz:
> AFAIK you're running TB permanently (and at very short poll intervalls).

  True - although 30 seconds isn't what I would consider to be _very_ short
  intervals. Or?

  Alexander S. Kunz:
> An environment that, as you said some weeks ago, requires you to restart TB
> now and then. You could do that with a scheduled /EXIT when you're in doubt
> if the .IPC file is still interpreted, couldn't you?

  Unfortunately, no! /EXIT relies on thebat.IPC - thus if TB ignore reading
  thebat.IPC then /EXIT won't work either! If TB had a last resort - like if a
  file "force.exit.thebat.doh" exist in the program directory then TB would
  exit.

  My applications do have protections against a dead loop as such as the system
  will reboot and restart from where TB ignored thebat.IPC. But I feel it is
  unacceptable having to reboot every 7-10 minutes. I am trying to tune the shit,
  and already I have produced protections of "DOS'ing" TB.

  After letting FileMon monitor for a while, it is revealed that TB check
  thebat.IPC every 10th seconds. However, each time one is running a second TB
  (with or without IPC commands) the primary TB will "sync" up to the secondary
  TB. If, for example, TB was checking thebat.IPC at times

  16:03:05
  16:03:15
  16:03:25
  16:03:35

  and you start a second TB at 16:03:38, that second TB would have the primary
  TB to check thebat.IPC right away - and subsequent checkings of thebat.IPC
  would then time to for example

  16:03:49
  16:03:59
  16:04:09
  16:04:19

  and so on.
  
  When it comes to what one can put into the thebat.IPC TB is pretty forgiving,
  but apparently commands that isn't supported won't be executed. Put a fake
  command (ie. /DOH) into thebat.IPC and TB will read and process the file - but
  nothing will happen as a result of that /DOH command. I tried three methods
  to have TB process IPC-commends. After some testing, I fortunately found a
  way of doing it and that I have found to be stable with my software - even at
  a pretty short poll intervals.

  The most stable method of executing IPC-commands is to write the commands into
  a batch file. A batch file is described in the Help-file:

 "If you need to execute a lot of commands many times, the /BATCH command is a
  life saver. This command allows the execution of multiple commands defined in
  a text file; each command being placed in one line."

  I find that doing so makes running IPC-commands stable. I have tested for some
  days now, and it is stable - TB hasn't failed once!
  
  Just for the record, the following two methods are totally unstable and I can
  not recommend them:

  1) Sending each command directly from th command line - like
     16:05:00 - "C:\Program Files\The Bat!\TheBat.EXE /MAILU="[snip]
     16:05:03 - "C:\Program Files\The Bat!\TheBat.EXE /SEND*"
     etc. (commands "/MAILU" and "/SEND" are for the example only.

     TB will pretty soon (in minutes) stop checking thebat.IPC - useless! It do
     seems TB is choked, but the above may even happen even though the intervals
     are longer than 30 seconds - maybe even after minutes between each action!
     So there is some condition that makes TB stop checking thebat.IPC.

  2) Update/composing thebat.IPC directly at a time TB is not checking it - like
     16:05:00 - TB is polling thebat.IPC
     16:05:05 - writing IPC-commands to thebat.IPC
     16:05:10 - TB is polling thebat.IPC

     Again, TB will pretty soon (in minutes) stop checking thebat.IPC. One should
     assume it would be safe to write to the thebat.IPC as TB is not occupying it.
     Yet, this method is proven just as unstable as with the first method - and
     again it's useless!

  I have no idea why the latter two methods eventually fail. Stick to writing to
  a secondary batch file (thebat.TXT etc.) point to it from the command line.

  As for /EXIT that fails when TB fails to check thebat.IPC:

  Alexander S. Kunz:
> ** You. Do. Not. Need. The. IPC. File. **

  You do! /EXIT won't work when TB stops checking thebat.IPC - because (as you
  later found out): "TB itself writes the .IPC file when you access it via the
  commandline?!?". Yes, it does - I have always said that (or at least implied
  it strongly)! :) It was crucial in the discussion and is a major reason for
  topic of "[St's TB Annoyances] thebat.IPC".

  BTW - thru the batch file method I hav been able to produce a stable fix for
  the problem I outlined in "[St's TB Annoyances] Periodical Checking (of mail)".

-- 
  St



     


________________________________________________
Current version is 2.12.00 | 'Using TBUDL' information:
http://www.silverstones.com/thebat/TBUDLInfo.html

Reply via email to