| 1 | XMUT5 ;ISC-SF/GMB-Check Background Filer (local delivery queues) ;02/12/2003  07:42 | 
|---|
| 2 | ;;8.0;MailMan;**10,2**;Jun 28, 2002 | 
|---|
| 3 | ;(WASH ISC)/CAP | 
|---|
| 4 | ; | 
|---|
| 5 | ; Entry points used by MailMan options (not covered by DBIA): | 
|---|
| 6 | ; CHECK    XMMGR-CHECK-BACKGROUND-FILER | 
|---|
| 7 | CHECK ; | 
|---|
| 8 | N XMTEXT | 
|---|
| 9 | ;* Latest Delivery shows last user with message in mailbox. | 
|---|
| 10 | ;Meaningful for new messages, possibly meaningful for (f) forwarded messages. | 
|---|
| 11 | ;Not meaningful and not shown for responses. | 
|---|
| 12 | D BLD^DIALOG(36222,"","","XMTEXT(""*"")","F") | 
|---|
| 13 | D BLD^DIALOG(36219,"","","XMTEXT(""M"")","F") | 
|---|
| 14 | D BLD^DIALOG(36220,"","","XMTEXT(""R"")","F") | 
|---|
| 15 | I $D(ZTQUEUED)!($E($G(IOST),1,2)'="C-") D DISPLAY Q | 
|---|
| 16 | F  D DISPLAY D  Q:'(Y!$D(DTOUT)) | 
|---|
| 17 | . W ! | 
|---|
| 18 | . N DIR,X,DTIME | 
|---|
| 19 | . S DTIME=5 | 
|---|
| 20 | . S DIR(0)="Y",DIR("A")=$$EZBLD^DIALOG(36210) ; Refresh | 
|---|
| 21 | . S DIR("B")=$$EZBLD^DIALOG(39054) ; YES | 
|---|
| 22 | . D BLD^DIALOG(36211,"","","DIR(""?"")") | 
|---|
| 23 | . ;Answer YES if you want the display refreshed. | 
|---|
| 24 | . ;Answer NO if you don't. | 
|---|
| 25 | . ;If you don't answer, the display will be refreshed every five seconds. | 
|---|
| 26 | . D ^DIR | 
|---|
| 27 | Q | 
|---|
| 28 | DISPLAY ; | 
|---|
| 29 | N XMQLIST,M,R,XMTSTAMP,XMPARM | 
|---|
| 30 | W !!,$$EZBLD^DIALOG(36212,$$FMTE^XLFDT($$NOW^XLFDT,5)),! ; Delivery Queue Status as of | 
|---|
| 31 | S M=$G(^XMBPOST("STATS","M")),R=$G(^("R")) | 
|---|
| 32 | I M+R>0 D | 
|---|
| 33 | . S XMPARM(1)=M+R,XMPARM(2)=M,XMPARM(3)=R | 
|---|
| 34 | . W !,$$EZBLD^DIALOG(36213,.XMPARM) ; Deliveries COMPLETED since last 1/2 hour: _M+R_ (_M_ Msg, _R_ Resp) | 
|---|
| 35 | D GO^XMUT5B | 
|---|
| 36 | D GETQ^XMKPLQ(.XMQLIST) | 
|---|
| 37 | S XMPARM(1)=$S(XMQLIST("M")="":1,1:$L(XMQLIST("M"),",")+1) | 
|---|
| 38 | S XMPARM(2)=$S(XMQLIST("R")="":1,1:$L(XMQLIST("R"),",")+1) | 
|---|
| 39 | W !,$$EZBLD^DIALOG(36214,.XMPARM) ; Number of delivery queues: |1| Message and |2| Response | 
|---|
| 40 | S XMTSTAMP=$O(^XMBPOST("BOX",0)) | 
|---|
| 41 | I XMTSTAMP W !,$$EZBLD^DIALOG(36215,$$WAITIME(XMTSTAMP)) ; Waiting time for items to be put in the delivery queues: | 
|---|
| 42 | E  W !,$$EZBLD^DIALOG(36216) ; Nothing waiting to be put in the delivery queues. | 
|---|
| 43 | I M("T")+R("T")<1 W !!,$$EZBLD^DIALOG(36217) ; Nothing in the delivery queues. | 
|---|
| 44 | E  D | 
|---|
| 45 | . W !,$$EZBLD^DIALOG(36218,M("T")+R("T")) ; Items currently waiting in delivery queues: | 
|---|
| 46 | . I M("T")>0 D SHOWQ("M",.M,XMQLIST("M")) | 
|---|
| 47 | . I R("T")>0 D SHOWQ("R",.R,XMQLIST("R")) | 
|---|
| 48 | . I M("T") D MSG^DIALOG("SWM","",80,"","XMTEXT(""*"")") | 
|---|
| 49 | D SHOWFILR | 
|---|
| 50 | Q | 
|---|
| 51 | SHOWQ(XMGROUP,Q,XMQLIST) ; | 
|---|
| 52 | D MSG^DIALOG("SWM","",80,"","XMTEXT(XMGROUP)") | 
|---|
| 53 | N I,XMCNT | 
|---|
| 54 | S XMCNT=0 | 
|---|
| 55 | F I=1:1:10 I Q("O",I) D | 
|---|
| 56 | . S XMCNT=XMCNT+1 | 
|---|
| 57 | . W !,$J(I,2),"  ",$$QRANGE(XMQLIST,I) | 
|---|
| 58 | . W ?17,$J(+Q("O",I),7),?27,$J($P(Q("O",I),U,3),8),?39,$J($$WAITIME($P(Q("O",I),U,2)),12),$J($P(Q("O",I),U,4),16),$J($P(Q("O",I),U,5),3),$J($P(Q("O",I),U,6),9) | 
|---|
| 59 | I XMCNT>1 W !,?3,$$EZBLD^DIALOG(36221),?17,$J(+Q("T"),7),?27,$J($P(Q("T"),U,3),8),?39,$J($$WAITIME($P(Q("T"),U,2)),12) ; Summary | 
|---|
| 60 | Q | 
|---|
| 61 | SHOWFILR ; | 
|---|
| 62 | N XMSTATUS,I | 
|---|
| 63 | D STATUS^XMKPL(.XMSTATUS) | 
|---|
| 64 | W !!,$$EZBLD^DIALOG(36224) ; Background filer status: | 
|---|
| 65 | I $D(XMSTATUS)<10 D | 
|---|
| 66 | . W $$EZBLD^DIALOG(36225) ; ALL Background Delivery jobs are RUNNING. | 
|---|
| 67 | E  D | 
|---|
| 68 | . I $P(^XMB(1,1,0),U,16) D | 
|---|
| 69 | . . N XMTEXT ; The Background Filers have been shut down. | 
|---|
| 70 | . . D BLD^DIALOG(36226,"","","XMTEXT","F") | 
|---|
| 71 | . . D MSG^DIALOG("SWM","",80,"","XMTEXT") | 
|---|
| 72 | . W ! | 
|---|
| 73 | . S I="" | 
|---|
| 74 | . F  S I=$O(XMSTATUS(I)) Q:I=""  W !,XMSTATUS(I) | 
|---|
| 75 | Q | 
|---|
| 76 | QRANGE(XMQLIST,I) ; Queue range | 
|---|
| 77 | I XMQLIST="" Q "(...)" | 
|---|
| 78 | I I=1 Q "<"_+XMQLIST | 
|---|
| 79 | I I>$L(XMQLIST,",") Q $P(XMQLIST,",",I-1)_"+" | 
|---|
| 80 | Q $P(XMQLIST,",",I-1)_"-"_($P(XMQLIST,",",I)-1) | 
|---|
| 81 | WAITIME(X) ; | 
|---|
| 82 | N XMDIFF,XMWAIT | 
|---|
| 83 | S XMDIFF=$$TSTAMP^XMXUTIL1-X | 
|---|
| 84 | S XMWAIT="" | 
|---|
| 85 | S:XMDIFF'<86400 XMWAIT=(XMDIFF\86400)_" " | 
|---|
| 86 | S:XMDIFF#86400 XMWAIT=XMWAIT_(XMDIFF#86400\3600)_":"_$E(XMDIFF#3600\60+100,2,3)_":"_$E(XMDIFF#60+100,2,3) | 
|---|
| 87 | Q XMWAIT | 
|---|