Handling multi-node PCBoard events running under DESQView A help/tip document by Harv Welch (SysOp: City Bytes PCBoard BBS) Victoria BC Canada (604)595-6234 HST RelayNet(tm) System ID ->CBYTES (Written 21 April 1991) (Revised 13 Sept 1991) Although there are several document files available that explains how to set up and run a PCBoard system under DESQView, one of the major items that are not explained very well is how to get your system to run its events under this setup. I will not be going into the actual DESQView setup, but rather how I have my system setup to handle the events. I have helped several other SysOps with this mysterious delema, and thought that if I offered my suggestions in this format, then it may help others who have the same problems. I must add here that when I first thought of attempting to run multiple nodes under DESQView on my 386 based machine, the best document that I found that really helped was one that was written by Scott Howard. I found it on CDC's Salt Air support BBS as the file named: 4DV&PCB.ZIP (This is available on my system as well) For your initial setup, I would suggest that you get that file. It was well written, and easy to follow. It helped me get my system setup within about 1 hour. Many thanks to Scott for offering this document to us DV/PCBoard SysOps. Now, onto the event handling: When I first began to run my multiple node system under DESQView, I did so one Sunday afternoon when it was cold and raining outside. What a good time to stay indoors and "Play" with the system, right? I played around with the idea of spending the money to purchase a 2nd machine, getting a LAN, thinking of the cost involved, etc., etc. This played around in my mind for several days. I must admit that I was hesitant to try the DESQView approach, but in the end, I was glad I did. Now I can spend the extra money on that large HardDrive that I have been eyeing. During that Sunday afternoon, I read through Scott's document several times to get it straight in my mind as to what is expected. I installed QEMM and DV, and then plunged right into it. I altered my EVENT.SYS files for each node, my BOARD.BAT for each, and once it all appeared to be working fine, that is the way that I left it for several days, until one evening when I decided to stay up late and watch the weekly WWF grunt matches on TV. Like a lot of SysOps, I have a TV in my computer room. Well, what I thought was a good and final setup really took me by surprise when I noticed how S L O W my event, mailrun, etc took running under a window in DV. What normally took about 30mins to run, now took about 1.5hrs running under a DV window due to time slicing, sharing, etc. Hmmmmm..... Now, how the heck am I going to fix that up? That was obviously TOO slow. It was pitiful to sit in front of the machine and watch it. I think that it would have actually run faster on a 4mhz XT. NO KIDDING!! I thought that what would work best would be to have all 4 nodes go down and then run the event under a clean system, without DV up. But, how was I going to accomplish this? After trying a few different ways, I finally (by accident) came across a way in which it works very well. Firstly, Node 1 is where the main event tasks are executed from. In order for this to take place, I have Nodes 2, 3 & 4 go down 1 minute apart from each other at roughly 01:15 in the morning. Node 2 goes down at 01:15, Node 3 at 01:16 and Node 4 at 01:17. Now, if you were at the DOS prompt inside of a DV window and entered EXIT, that would immediately take down that window. So, in my EVENT.SYS files for nodes 2,3 and 4, the very last line is simply EXIT. This very nicely takes down the windows for each of Nodes 2,3 and 4 resulting in a clean take down of those nodes. An example of those batch files are as follows: @echo off EXIT That's it! Simple isn't it. Like stated previously, this takes down both the PCBoard nodes cleanly, and also the associated DV windows. Now, the only window that is left up is that of Node 1. This one is a tad more complicated, but yet, still simple. At 01:20, Node 1 begins its event. When this happens, it runs the EVENT.SYS file for Node 1. It writes a flag file to C:\ and then runs a small neat little util called REBOOT.COM. Just as the name inplies, REBOOT.COM will then REBOOT the machine. An example of the EVENT.SYS file for Node one is as follows: @echo off cls cd c:\ echo Time for event > c:\event.flg reboot Once again, just those 4 lines starts things off. Simple eh? Now, remember that flag file I mentioned above? EVENT.SYS for Node 1 has written a file called EVENT.FLG to the C:\ drive. When the machine reboots, my AUTOEXEC.BAT file has an IF EXIST test statement in it. If the test is true, and EVENT.FLG exists, it branches to that label and will CALL another batch file resting in wait on the C:\ drive called NITEVENT.BAT. This batch file contains all the necessary tasks that has to be done during my event period. Updating game door stuff, PCBSM stuff, updating the file lists, my mail runs, defrag the HD, etc. When NITEVENT.BAT first executes, it also does a test IF EXIST statement for the existance of that EVENT.FLG. If it finds it, the very first thing it does is deletes that file so that when the last thing that NITEVENT.BAT does is REBOOTS the machine again, the test IF EXIST statement in my AUTOEXEC.BAT file does not find it, and will not branch off to that EVENT label in the batch file, and will restart as normal, finally calling the DV.BAT file to restart the 4 nodes again. Now, once everything has run okay, the 4 nodes are back up, and waiting once again for callers. Taking these steps has dropped my nightly events back to a respectful 30 mins or so. I have been using this procedure for about 3 months now without a hitch (touch wood!). It works for me, so if you are having difficulties with your events, there is no reason why it wouldnt work for you that I can think of. If you are running other than PCBoard, it should work for you as well. Give the above procedures a try, and let me know how it works. Drop me a line in your nearest RIME/RelayNet(tm) SysOps conference to Harv Welch. Route the message to CBYTES if you wish, or leave it public for all to read. That way if someone else is having difficulties, maybe they might read that msg and try out this procedure themselves. If I have helped you out with this, and your events are now running cleaner, it just makes me feel glad to have helped someone else out. If not, well then I suppose that you will have to work at it a little harder. Don't get discouraged though. As with myself, it will come to you and everything will work out fine. Just let others know who may have had similar problems how to get around it. SUMMARY OF THE ABOVE PROCEDURES.... =============================== 1... At your usual event time, have each of your nodes above Node 1 execute the following batch file. Remember to have them take off prior to Node 1. EVNET.SYS (for nodes above Node 1) @echo off EXIT 2... After the nodes above Node 1 have come down, have Node 1 come down a few minutes later, and run the following EVENT.SYS for Node 1. EVENT.SYS (for Node 1) @echo off cls cd c:\ echo Time for event > c:\event.flg reboot 3... During reboot, your AUTOEXEC.BAT file should look something like this: @echo off YOUR USUAL AUTOEXEC STUFF HERE..... ADD THE FOLLOWING (or similar) TO THE END OF YOUR AUTOEXEC.BAT FILE.... c: cd c:\ if exist c:\event.flg goto Event goto End :Event call nitevent :End pauz ANY 10 <-------This will ask you if you want to carry on if errorlevel 1 goto Final if errorlevel 0 goto DV goto Final :DV c:\dv :Final 4... During REBOOT, and if EVENT.FLG is found, it will in turn run the following NITEVENT.BAT file: @echo off if exist c:\event.flg del c:\event.flg cd c:\pcb ALL OF YOUR USUAL NIGHTLY EVENT TASKS GO HERE..... reboot 5... After your event has ended, it will reboot, and once again run your AUTOEXEC.BAT file as follows: @echo off YOUR USUAL AUTOEXEC STUFF HERE..... ADD THE FOLLOWING (or similar) TO THE END OF YOUR AUTOEXEC.BAT FILE.... :End pauz ANY 10 <-------This will ask you if you want to carry on if errorlevel 1 goto Final if errorlevel 0 goto DV goto Final :DV c:\dv :Final 6... Now, because your event has ended, and AUTOEXEC.BAT doesnt find the EVENT.FLG file, it will goto End and then call the following file to start up DV: @echo off C: cd c:\dv break off dv %1 %2 %3 %4 %5 cd c:\ 7... Now, your multinode PCBoard system running under DESQView will start up again, and will be ready for your callers. Events have ended for tonight. Once again, I hope that his helps. Give it a try and let me know how it worked out for you. Harv.... Final Note: =========== Since my first writing of this file, I have altered my autoexec.bat file to include a pause that waits for a request from you if you want to bypass the start up of DESQview. Just use the file called PAUZ that is included with this zip file, and also, REBOOT.COM has been included. I have also included copies of my AUTOEXEC.BAT, NITEVENT.BAT and my EVENT.SYS files. Files included within this package: =================================== DVEVENT.TXT - This documentation file REBOOT.ZIP - Contains the small REBOOT.COM file to reboot your system. PAUZ15.ZIP - Contains the file that will pause before starting DV 4DV&PCB.ZIP - Contains info on setting up a 4 node DV system. AUTOEXEC.BAT - Copy of my AUTOEXEC.BAT file NITEVENT.BAT - Copy of my NITEVENT.BAT file EVENT1.SYS - Copy of my EVENT.SYS file for Node1 EVENT2.SYS - Copy of my EVENT.SYS file for the other 3 nodes