From 3ad68056213a13af543bbe498448284de37b6a3b Mon Sep 17 00:00:00 2001 From: Dennis Kerschus Date: Wed, 28 Jun 2023 14:23:38 +0200 Subject: [PATCH] backup --- FlowAnalyserMain.py | 17 +++-- __pycache__/FlowAnalyserMain.cpython-311.pyc | Bin 4051 -> 5197 bytes __pycache__/sysjobs.cpython-311.pyc | Bin 20073 -> 23921 bytes sysjobs.py | 63 +++++++++++++++---- templates/index.html | 49 ++++++--------- 5 files changed, 81 insertions(+), 48 deletions(-) diff --git a/FlowAnalyserMain.py b/FlowAnalyserMain.py index d71d8cc..8541c4d 100644 --- a/FlowAnalyserMain.py +++ b/FlowAnalyserMain.py @@ -33,11 +33,18 @@ def create_app(test_config=None): @FlowAnalyserMain.route('/test') def test(): listSysjobs=[] - jobs=['BI - Flow - Batch Start – Daglig kl. 20.00','BI - Admin - Log Index Stats', 'BI - Flow - MDS Backup','BI - Admin - shrink staging filgruppe samt log filer' - ,'BI - Flow - Batch Slut – Daglig kl. 20.00'] - for job in jobs: - listSysjobs.append(list(Sysjobs.getSysjob(session,job))[0]) - return render_template('index.html', test=listSysjobs) + listStartSlutjobs=[] + listStartSlutjobs.append(Sysjobs.getSysjob(session,'BI - Flow - Batch Start – Daglig kl. 20.00',True)[0]) + listStartSlutjobs.append(Sysjobs.getSysjob(session,'BI - Flow - Batch Slut – Daglig kl. 20.00',True)[0]) + listSysjobs.append(listStartSlutjobs[0][0]) + sysjobs=Sysjobs.getSysjob(session,'% - Admin - %',False) + if(sysjobs!=None and len(sysjobs)>0): + for i in sysjobs: + listSysjobs.append(i[0]) + listSysjobs.append(listStartSlutjobs[1][0]) + listSysjobs = [x for x in listSysjobs if len(x.getMedianDag(0,30,2))>0] + listSysjobs = sorted(listSysjobs, key=lambda x: x.getMedianDag(0,30,2)[0]) + return render_template('index.html', test=listSysjobs,startSlut=listStartSlutjobs) @FlowAnalyserMain.route('/test3') def test3(): sysjobs=(Sysjobs.getNattensKoersel(session)) diff --git a/__pycache__/FlowAnalyserMain.cpython-311.pyc b/__pycache__/FlowAnalyserMain.cpython-311.pyc index 0ea8abc4c98d9f899c20f01a5539cf51823093ee..376385b608978dc2ea685299cdf0bbc127cba0d3 100644 GIT binary patch delta 1679 zcma)6O-vg{6rNe*_1eZi1TbKOYokIj0gRzmX-iOuplSs*GPH-1fMjPaVlZo%-AVy1 z3Wpp}6jfAv2#s3Rhd@z@8qx?g>LKOGrP8ju5|*V%y>g?f)I+68eY1`UR-&q-nYVA= z%zN{F^WN-lZ~WTf{LbO9A!yNW@AIeD$4;fnYk_Gkj6d%%2;D<-XpIgmFWFV=9Xf$-Wm5*`b*Fc=9 zfN18~N{DNW%c@+JSg`rSKrvkYqobz&dZejUL)|;MVufZXWhHUhd)TGTg<( z>Pk*iDCCGKE9MCM389XPhwc4n)zKE{4h-{)X#u`%ADmEP*U#9&gmO31p9F=bUq&-s zYgjtB2eODE@AdX`$%X_sTt=n4dDJQ6FPXdDfWTxNed32$Clo}8DVj1Vp;$eal0HuH z>4Y$nm;)oz(_6$hm4B>FxJ!A)HY&Zgy18y}5Z?o_j#SS?sc*#(YWL$m&HgxhIDD8q zs?nljdUQ;SjO&r{qj)|NQzNm>We}xKoZw!;&kP2G-ykUWfSplH(*_mZRC$FwewjBQ zQx!AVkUH=r^&mo+G?YGcpGdDLKwKdI<_0r~#U!5?TJ5BC=6eP++3SgnI0Q;*p@(|- zK&+#u_!sBT&co%S3rEA+KujNq9WCnv@pWXN58D+22u_0UyT%n~WZ6UsPLRkUZ)qBON4&S#TivBsE`y$zE^ ze6fbpA}#TN@`&xaH3X#A(eHJh4ST`cta42SuIZQy9o&9vH~h3sb6?iomp3d0`-RPsJC`;teKVD7`0Co% z*LH*VXSZex_06XUJ3@xo#09tS*xj0Ux8@?b_=C4KcZcroP>ufTx#eR=jB^V{_2n)? z32L4R-7~Raf9`4Cx~lfXY4=QOo=M#^309YXOWwbze)yT{n$}#?x@%hHrj-fHb~Hd! zQUhflOGr{m5XZ79BBnB=73`%HVbTuzxhf(drJM8P-Y4VS_t-}oX#|`U={pLP>Wp|n zU+p$tOxRYB-&IC!pRxfkl1?ROYh;b+?aDJ-BMw8b7N#%yY_f?n6V#B> zUW6XJ$Q%?w5z&et2c;A|c<4#=AT%{lSrPgtM7(*?w@C|j*!k_g-|x+P^WMI%z273< zmmZG`!5VmSU%TXZ@8z~`CzyWNzdr#yKpC_ETf@)r0xAMynIFuFIz+`BFaX<`MvwKW}g*%XRN(=mykXc<~8 zcO|Ekeq~h4XAO8?C}fl=L(^|7DW)=74m8y9T;Udo7tf}Yq?(>D70XBVoT76iYs@Q@ zshO;iQLblm8B!`1b%m;VrsNX(PC5WcmB2stgjlwK7Z4DGH6hY>*u0xAO_*g>Q?SW-?UBKQ% z9qq!hZQCCN(>aNoxIFe<4sOZeO*#CSy_ndFj%-Fp)-oT`)o8L7O;#ggwaD1|Xe}~c zl_zTQ#75)!=?g!syzATWC91we&6n74B#0N1mhA&fr~HTe(eZXL&DM<0rd7stgPt$w zgz7mG0G>1o!Db6>7C|wP3h`M|C!h9(gu}7bFY;@Az!c(xCZ45Mmz1W*AJ<8%{&XQ< zOqBciO;-nB@$SRJ{G<2sDJv`K0)W2If?-NpDPN?`d}1?q$WkRuW$JLFW6Dlk5{1lR z9AC}*mhfPw6(|Zo?Ev5dt8qcol_t8%^cna&(95x OaaSGfg=_qk|M@@n*5oq) diff --git a/__pycache__/sysjobs.cpython-311.pyc b/__pycache__/sysjobs.cpython-311.pyc index ace75c692e6609c906c14146668014bec440665f..5c5260dbf1786415203761c663349d51f6d1b3fd 100644 GIT binary patch delta 8574 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 Hg5&=INxkEz delta 5670 zcmb_gYj9J?6~3!`ujH2=eo0s|l8h~kh%v^5w-X~{493_FmU#&hS@xBUKo8g}^NNXR z!c55K?fM?$G$CbHrj$3As2aZ?PXNaH(iWoO1EFnw6 z8nSX)irW(Tq5MQas31`oDohlGia1}67bol?JMSCgj)WuRNX!V$NR)(1IL{P!hMZt8 zEAC9VLatF>X{gj7tPzy#BZ86>b)69f;T*jD*(QW$8ic6*3{dArd4dpfbA?<`$cwrs zDF`7CmzhCknI`jcnH6NVsGHeHv62t{f@$Ms@o|M9E1D)N=dxmu*{8`W6jM;}JBD$l zexgb1V`|!;!#*HEw#?ur65C>^9y)2*XmHGi5oZNj2@UljI5{wbT;t_TqU`q-1%9#Y26XKy2wEH~#^!%E=$B~4V* zbX=D<0GF-;xTS}5Bfvph@PN8A)vZ>C!(g9=!oZlA5ga zCw8mUi>gyhX{K-(J{S%kw2qtOj4C#gTMpKW^0w5i1Wi~`6B-y>)>Kp6{94&LN(hk;Sb9?ZRY9{z}XH-p3nhP=(4LxM*B?~oUe_ymQ(x(~K zbaZ!fqm~^>rXz9SM0+GKaO=UdEW-QQ=K?D$SU?C17Hr5D2ZWttqXx);fqlQAD|-M# z%GegUI`l+QwJ6P9P*XGXhGRV;yIFS05f&&ZW`j<%oYU0N-pW>%6fxp_tyBTyT9z7( z_qM^2q1`~z9ss|I=Ce{)**d=7ZOGn^>@0n$W8)|qpdA3Pls)kv9Gv@*69!PT0KB6Q zoVGz%rRi?uKQ6G}yB;-K3y$W{O6H$=o%FNo&KhQMulC^v`3b!X8&NY<*U(z%a#}@C zc)f?g)PDD3Sk`&>!Zw}*FrvRCRj?6!x^+NmVkCJ$6XVgOZcEZ9J`Y9NG^%z))BRMJ zspw0X=1MSJW1$_yWi;CCl;drz=W{ASiHnwep)gB`Gx@OIc=!n`@>+&ogqY_sOEr)Sl&f6mQg@6Y-H5!kVEJG-wU zpNaE)o&gE=E~{-A0~7P15;>p_7Xd+WX?}L0qGIhqqi?G(;ZvYp>udD|{SI0TLQPJm zU^um7-$bLkhHXW*8BKU4}S{I-xGJ5tKHITSQPw8@7n3v=v2ws1!y4An0_7J=iGX4s2rLUK|z^ zGe`xbMhOfxNv#rSHA$N!P{RhTOJNDjHc4F)C^Si#E+hj|H1goG8O3{ zQUg*3^#k%+8H@(x4Kj?x2ACakNJcC2HW{rz1JrX_d6N;WVS|e?hV>y``j9T9_RHN!VFM$( zpaCYh3z^seWmAv<`~ogQTLQ-cq9DZuDdSP;I{WUNS#=oWT8_%^8cb6?7!;9HxaRuprbR6d>UJs#(L~NHUp%fR3e-DvZQ9rX~cQU#&RE z1ZKdNLT$)jBxC^5=X41IreKQ6o)-%Ged|T?9)x^^2*MGBod{`!uOd8(a0dcU?wC6C zB!-#H0k2vG8+v%cziUM^53_Z(PczHH&ogu7!qep=0yKj?y!l~}H&Y=*vgMM~6{iop zFn>gV?o_ZF!H_bz?1j{b0Ntrz%K~k6M1W=z6i%e|6}X4qyz>cS#~iGg^<%sP(sPO) z=%m#wvbe~}H(&uSbP>Wr1Y9kx9eQ%{a$@B22ifnI+_CHgvd7Dy2a)_b!byZv2n`6U z045b|?9&y+CcR8M!P=KTMR=L!!jnzc-cF;1?OEo`eHKOQ5h~fqWg{yXbfG%>{g7U{oC!g`}RFBTUYM4P_#k+c5z+IQI6dZfQk`4dack1*tN@8 zU7cYU>fAwFi#sfW!2O3I-VrVpTFHI$4YN|Iy z6L61l|852WzxB=<^x^@-dD53pGEcpSyfjo_e~Q48uCDy1k?(??WdbDy=cW!n#l91m zNnT;^1n!0^)6~#NR=2aieI9{V4`YRc zX6%i{p~%;RcdP`UTVW`c@Q_x*VZV`kN;B$}Jl`w59_T=eVF1+#03`uDdR1VCs-UAk z$zEMkLEdKXulXV~Ic?F$P?e`3RMk%&&s|wa^3WK|UG#C}@u0x%)gxnUBkA{$XG5q( zXhdj1@FLuU5E1GD@lZ^ND83imiLavIM+kQyjAtnBD1?WHo@o9C$>9>DdyePZSyRg( zSe+7KA;ZCa+6%H#h1Db0IKBLmqlPW)Wi-)>f?)QdT z{|(f86Jc~!Oln`6;fHt`a(N2FQeM9bmO`)1Uwpfj(YJ8a_;P-V;1Mk>_9>eFe2bg=qK8unCzvwMW zHdN?2S{d{D?Chfrr4?gq*Ef^m256R5{gg(N>4r$UXGe1*Th?)EQ7H(ZD&W!dOXyE1 zpGCb^xDUBufYDz#SS8587V;t65L}VLgVg4?{ui(Dd;E5XfXB?Q@C*D9{|0+gwx7=m z;Scbtn2jb}uFTdMtQe6*yaA_!9ssC|XN5ch9`k%{bAw&UIs?CD&f)JF{)BR)SynrYP8ZGQ8A z@e$7#b+>cUyZABgpDC`v$x?)m;Z=9Dd7FY&7yWB5xtg!Inh&ozy6M=e$F^ORn&Iyf zN9gE2K_$PBy|T51kx=PezCXNhvcT`;NW5o9G;yFBZX5mJ=Hqwxc`sz^L*7gg()@7q z{Ov%p8DR#(a|rk!Uz*eqQKNdCVXomp%uhJwo64s@c}ZVp)g@9&e>{3OeGfDUylN1x z(-Dyna$Rs-#6LC?%FFaz6#fr?*M$0uxBI&$G+z9Ve0): + resResult=list(res[0]) + if(resResult[0] List['Sysjobs']: natStat=(datetime.today()-timedelta(days=1)).replace(hour=20,minute=0,second=0,microsecond=0) resReturn: List['Sysjobs'] = list() - stmt = Select(Sysjobs,Sysjobhistory).join(DataflowManagement_JobListe).join(Sysjobhistory).join(DataflowManagement_JobsForExecution).where(Sysjobhistory.step_id==0).where(DataflowManagement_JobListe.Aktiv==1).where(or_(and_(Sysjobhistory.run_date>=int((natStat.strftime('%Y%m%d'))),(Sysjobhistory.run_time>=int((natStat.strftime('%H%M%S'))))),Sysjobhistory.run_date>=int((datetime.today().strftime('%Y%m%d'))))).distinct() + stmt = Select(Sysjobs).join(DataflowManagement_JobListe).join(Sysjobhistory).join(DataflowManagement_JobsForExecution).where(Sysjobhistory.step_id==0).where(DataflowManagement_JobListe.Aktiv==1).where(or_(and_(Sysjobhistory.run_date>=int((natStat.strftime('%Y%m%d'))),(Sysjobhistory.run_time>=int((natStat.strftime('%H%M%S'))))),Sysjobhistory.run_date>=int((datetime.today().strftime('%Y%m%d'))))).distinct() row : Sysjobs + stmt.options(contains_eager(Sysjobs.sysjobhistories), contains_eager(Sysjobs.parents), contains_eager(DataflowManagement_JobAfhaengighed.parent)) res = session.execute(stmt).all() return res - def getSysjob(session, sysjobName: str): + def getSysjob(session, sysjobName: str, fullName:bool=True,historikDage: int=0): resReturn=None + natStat=(datetime.today()-timedelta(days=historikDage)).replace(hour=20,minute=0,second=0,microsecond=0) if(sysjobName!=None): - stmt = Select(Sysjobs).where(Sysjobs.name==sysjobName) + stmt=Select(Sysjobs) + if(historikDage>0): + stmt=stmt.join(Sysjobhistory).where(or_(and_(Sysjobhistory.run_date>=int((natStat.strftime('%Y%m%d'))),(Sysjobhistory.run_time>=int((natStat.strftime('%H%M%S'))))),Sysjobhistory.run_date>=int((datetime.today().strftime('%Y%m%d'))))) + if(fullName==False): + stmt = stmt.where(Sysjobs.name.like(sysjobName)) + else: + stmt = stmt.where(Sysjobs.name==sysjobName) + if(historikDage>0): + stmt=stmt.options(contains_eager(Sysjobs.sysjobhistories)) + try: - resReturn=session.execute(stmt) + resReturn=session.execute(stmt).unique().all() except: session.rollback() return resReturn - + def getSmallestWaitOfParent(self): + return + class Sysjobhistory(Base): __tablename__ = "sysjobhistory" instance_id=Column(INTEGER,primary_key=True) @@ -206,6 +228,7 @@ class DataflowManagement_JobListe(Base): Aktiv=Column(BOOLEAN) sysjob: Mapped["Sysjobs"] = relationship(back_populates="dataflow_jobs") + class DataflowManagement_JobAfhaengighed(Base): __tablename__ = "JobAfhaengighed" __table_args__ = { "schema": "dataflowmanagement.flw" } @@ -221,6 +244,7 @@ class DataflowManagement_JobMasterSetup(Base): __table_args__ = { "schema": "dataflowmanagement.flw" } JobID: Mapped[str] = mapped_column(UNIQUEIDENTIFIER,primary_key=True) CurrentBatchID: Mapped[int] = mapped_column(INTEGER) + MinMellemAfvikling: Mapped[int] = mapped_column(INTEGER) def getCurrentBatchId(session): stmt = Select(DataflowManagement_JobMasterSetup) @@ -231,5 +255,20 @@ class DataflowManagement_JobsForExecution(Base): __tablename__ = "JobsForExecution" __table_args__ = { "schema": "dataflowmanagement.flw" } JobID: Mapped[str] = mapped_column(ForeignKey("sysjobs.job_id"),primary_key=True) - BatchID: Mapped[int] = mapped_column("JobMasterSetup.CurrentBatchID") + BatchID: Mapped[int] = mapped_column(INTEGER) + ExecutionID: Mapped[int] = mapped_column(primary_key=True) + +class msdb_sysjobsteps(Base): + __tablename__ = "sysjobsteps" + __table_args__ = { "schema": "msdb.dbo" } + job_id:Mapped[str] = mapped_column(ForeignKey("sysjobs.job_id"),primary_key=True) + step_id: Mapped[int] = mapped_column(INTEGER,primary_key=True) + step_uid: Mapped[str] = mapped_column(UNIQUEIDENTIFIER) + command:Mapped[str] = mapped_column(NVARCHAR) + sysjob: Mapped["Sysjobs"] = relationship(back_populates="sysjobsteps") + + + + +#class AllExecutionMessages(Base): \ No newline at end of file diff --git a/templates/index.html b/templates/index.html index 6f01ed5..d7947ea 100644 --- a/templates/index.html +++ b/templates/index.html @@ -4,43 +4,30 @@ FlaskBlog -