I'll send you my PIPE code that waits for some accounting records, midnight, CP/CMS commands, etc. It may inspire you. And, it has a STOP command...
2009/1/9 Bob Cronin <[email protected]> > Oh and I really (really) do not want to use PIPESERV (or any other tools > beyond native built-in stages and/or Rexx stages I write myself). This > feels > like it should be simple enough to roll my own, if only I knew where to > begin. > > Bob Cronin > > On Fri, Jan 9, 2009 at 3:52 PM, Glenn Knickerbocker <[email protected] > >wrote: > > > Bob Cronin wrote: > > > been too complex for me to get my head around how I'd do them entirely > in > > > the pipeline, and I've always fallen back to using the standard > > > WAKEUP-driven Rexx "Do Forever" loop. > > > > The starting point is just to move that DO FOREVER loop into the > > pipeline. Use ADDRESS COMMAND to issue all the same CMS commands you > > would normally, except for PIPE. Use CALLPIPE instead of PIPE to run > > any one-shot pipelines. > > > > None of that improves anything directly, of course. What it buys you is > > that now you can use ADDPIPE to add subroutine pipelines your program > > can read and write to. You're then starting up those pipelines just > > once for the whole program, rather than repeatedly for each record or > > group of records you need to process. > > > > Then you can look at replacing WAKEUP with STARMSG, DELAY, etc., and > > maybe even eliminating the main loop. Rather than doing all that from > > scratch, though, you can use PIPESERV as your starting point: > > > > PIPE (end /) serv.rdr: pipeserv | xferrdr / serv.smsg: | echosmsg > > > > Then your small XFERRDR and ECHOSMSG stages do the parts you care > > about. Each of those can do the bulk of its work in a single subroutine > > pipeline. > > > > ¬R > > > -- Kris Buelens, IBM Belgium, VM customer support
