1 | XMUTPUR0 ;(KVAMC)/XXX-Purge "AI" X-ref ;01/21/2003 07:50
|
---|
2 | ;;8.0;MailMan;**10**;Jun 28, 2002
|
---|
3 | ; Entry points used by MailMan options (not covered by DBIA):
|
---|
4 | ; PURGE XMMGR-PURGE-AI-XREF
|
---|
5 | PURGE ;
|
---|
6 | N XMQUIET,XMABORT,XMDT
|
---|
7 | S XMABORT=0,XMQUIET=$D(ZTQUEUED)!($E(IOST,1,2)'="C-")
|
---|
8 | D INIT(.XMDT,XMQUIET,.XMABORT)
|
---|
9 | I XMABORT W:'XMQUIET !,"Process aborted." Q
|
---|
10 | D PROCESS(XMDT,XMQUIET)
|
---|
11 | Q
|
---|
12 | INIT(XMDT,XMQUIET,XMABORT) ;
|
---|
13 | I $D(^XMBX(3.9,"AI"))<10 S XMABORT=1 W:'XMQUIET !,"XMBX Global 'AI' Node empty!" Q
|
---|
14 | S XMDT=$$FMADD^XLFDT(DT,-730)
|
---|
15 | Q:XMQUIET
|
---|
16 | N DIR,X,Y
|
---|
17 | S DIR(0)="D^:"_$$FMADD^XLFDT(DT,-1)_":EP"
|
---|
18 | S DIR("A")="Kill all XMBX 'AI' nodes older than"
|
---|
19 | S DIR("B")=$$FMTE^XLFDT(XMDT)
|
---|
20 | D ^DIR I $D(DIRUT) S XMABORT=1 Q
|
---|
21 | I XMDT'=Y D Q:XMABORT
|
---|
22 | . S XMDT=Y
|
---|
23 | . K DIR,X,Y
|
---|
24 | . S DIR(0)="Y"
|
---|
25 | . S DIR("A")="Are you sure"
|
---|
26 | . S DIR("B")="NO"
|
---|
27 | . D ^DIR I 'Y!$D(DIRUT) S XMABORT=1
|
---|
28 | W !,"We will kill all nodes older than ",$$FMTE^XLFDT(XMDT),"."
|
---|
29 | W !!,"***** Starting at ",$P($$HTE^XLFDT($H),"@",2),!
|
---|
30 | Q
|
---|
31 | PROCESS(XMDT,XMQUIET) ;
|
---|
32 | N XMS,XMI,XMZ,XMXDT,XMCNT,XMKILL
|
---|
33 | S (XMCNT,XMKILL)=0 ; XMCNT=#nodes, XMKILL=#killed
|
---|
34 | S (XMS,XMI,XMZ)="" ; XMS=Site, XMI=Msg ID, XMZ=Msg # here at this site
|
---|
35 | F S XMS=$O(^XMBX(3.9,"AI",XMS)) Q:XMS="" D
|
---|
36 | . F S XMI=$O(^XMBX(3.9,"AI",XMS,XMI)) Q:XMI="" D
|
---|
37 | . . S XMZ=$O(^XMBX(3.9,"AI",XMS,XMI,""))
|
---|
38 | . . I XMZ="" K ^XMBX(3.9,"AI",XMS,XMI) Q
|
---|
39 | . . S XMXDT=$G(^XMBX(3.9,"AI",XMS,XMI,XMZ))
|
---|
40 | . . S XMCNT=XMCNT+1
|
---|
41 | . . I 'XMQUIET,XMCNT#1000=0 W:$X>70 ! W ".",XMCNT
|
---|
42 | . . I 'XMXDT S ^XMBX(3.9,"AI",XMS,XMI,XMZ)=DT Q
|
---|
43 | . . I XMXDT<XMDT K ^XMBX(3.9,"AI",XMS,XMI,XMZ) S XMKILL=XMKILL+1
|
---|
44 | Q:XMQUIET
|
---|
45 | W !,"Nodes Reviewed:",?16,$J($FN(XMCNT,","),10),!,"Nodes Killed:",?16,$J($FN(XMKILL,","),10),!,"Nodes Remaining:",?16,$J($FN(XMCNT-XMKILL,","),10)
|
---|
46 | W !,"***** Finished at ",$P($$HTE^XLFDT($H),"@",2)
|
---|
47 | Q
|
---|