)jMApAGJ!
zlG9tsnX9=|ydI4xar_zFkd+N^amC@NBCZWN$&MpvgrnGz0@*~S8`o|BwJ-n87(*;L
zv!I~rWm;rvC^t6ziJS}d-OI~#{@z}cxHmA?H|j%cxFVpi9I$Wtej*Bdj4AxN0X7%-
zy=cBYWj_uKYyI3!VBnO1syFk0t7;L%(x|x5)`Jv%q42k#K0EW=Fc!21$&l<7(G{(=B5HMGYis7g@9X2O
zW?J;q3GHS%ol(Vj00ci0`PU=8_vTVqE|w^R6TMktWYvJpUjNrfFtUvcMOr>;ku44s
zg_kxQnt0gVaN!ctd<{%W>D|CMIzAE{@!1P%>&d=!_=IT#=
zYF#n4mHq@pz@g?T@4Ik5eq{}r0bykxsx#-0VIA6^MC$2Yc6h~Ay9MhE^xTuV@;i_X
zt#ZW{gd0XZn=V|@hG}=?oY0~2W7VTx4?d4z9#^_Jl!t!;-~Qt!v)`COfCi%Q0;~MK
zy3arnUtVqM6mOfeA`znxjhF#NKdi$IQb@ymu%e)NYPCBPc=k;Zz7F!dos$~>Ge@t23s`D~
zO}baIN|1Tk85en7NE9^mkmRLG&q{5lFXWA;sqEDk3CpVC5jdG5a@GTWa`&365Jpd616F%3{I;08{UWvJ)%YR+8Eo*TdXaAk7v=2>P(
z`V#mNS6pDMlu7Wi9xIwr;&YURfD(r8f2)mc
zNt20;OmgWzeIzyFic8`2>*`Y0o;S->v^O@BpK!%DXch0B=MHr!VT^4>rz4{VGHUY%
ztZX)G6J{yO!u&_Hzvi;{z^Y{Ye=qbUmF1V;@P5<5=Up`vWK=p2ie@T(LY-2JTC+~_
zeP!B{r*>U<$(xt@g4!tu_rZ{#%`k?dkhWF{Gx^sUuFpQ17&C;;kUNdz%Xc{x^T7GZ
zgoejnuIKSL;AjfJJRxaLixo{n@n#kWrCg00*dHF@3mq^
z^lo7c`W&2-5FTH@1OobPT2+5*D(v4CZd@}A4Ob#qeeyNvs)*qQ@7hoOC$aWxd*aQ;
zqVP&Z9&VEv(F5ugc0J1K;j)q(O!q0`VHoWnlM2Yin-o(FxayWuHFd0wdCM15SE02}
z_n!#rE1_2J0C`=P(a*93sPBk!5-8>2l(F3-beNuak-MyVHUeDBji;~gs0dglE#}+{
zpPW85T*le?pSa?;auMG#sYu_QjU3*R9^8?K(h}j}M-GMbrzKV&!)gDZ{`-`g4deTW
zO>L-C7`jAKwLl(jcLjuqu>r*t!6jBYnR)|HxtYA^df4x0zP8I6Jg|Xi?l<5LVHVI!
zUwnO+IV)7aIbmc4dUa2{loOD@{~S?sKfe>thaEL)O3vviPq!7+0|w(
ze1N$S+&@4-DvlpnMBB#K2&?R77?<=1!2nSO-mPs~oco^IKJ(x>P>B^etEJ7rL!unW
z8`z;{JiDT+)^>p%PZt$DC*Xrj=<)k){4(Is3a#u}wZHbre-i1<4U2>f(8B+L_-~hU
z=!ze80N@6i|MW4zKAvc5HI>G4<8bpZ(Ml{vZDiy-RO(M(i)FL>MKtS5RxM(7S*c4iN
z@d#PO^0`V9qEH)3%Le>IS@t73G4gOF#2WvS^f2ygS^Q>6(!lv^xIe7@eZ8e=Xu{v<+HjyZ-3t3RqN@c
zvx>)kF^aI?Ie3CGVofg*_Gtk6jRodimf`R<%`WiUaxwK|+>yfe4=mhcLvXyVP>^!P
zt<(TWN2K-Z#5I0P>~ktMeIdTZ6#K)B3x*=MvcrGSYG+(Zmf?~uN+ZjV*W_4$z=I8l
z0*|HXw3}ud-DPmO!etb*D*76OFcnVU8=MJ%?g}!YV<&!w?CC@vFD6yj{fhSmT9~>Q
zdM+Kqtpw%aOBkp5HYOqDYBhe(Yk7MvYhX4+f1{}IWSi^&(@hI^4UGDi9w`KwMH!wq
z(-c>SAD`ChOWcA9eKX9Ty(~M@(wp|;S=c-fk1IY}{X#>K9h02G|Ep+#XQIt>
z@oF6Cho4-O8!D(u6~Ra8w2gZcoV4LdhSGB%X*2na;2z$3ab3$z7od??2r030L1X?Q
z#q(?yP+*ncBjn~zPn%PA7LE~xT8yN
zrE-QrtbLRiJbIP$|EnXz`Xx-sZdL1zTzL;?)_>JdC>;2Clfh`Izmhtncmy2{(I$CD
z{v{Q!riV^US*A%ac|^EwMki$U!q}qZ228e@kLm^7#CDY@&Sb38N?Zz^tJ;{wQU&9gH@jxrfP%O-ltnSNZJ7Tld1bu`(zdT*Z
zR{SwiFd$dcz)*VLr-k0{;V;Fbcm7{5(aII<-{|x|vsGrc;AptxpVZkCQ#LuUBK!6{
zs9W%qbD^xt>6-hCf;yt3$F1{nldE(O+%K%i(q@urDNJ%tOmvcO-k6S
zU{}-yMH()vO5aeA1V3ugvaZ?@g?~u^K{5R+nr?q(75$i630&pGOya4eQ9f3!v%vFg
zaBnWt(4zWA)GCifm9?Q`r6PGz5tF8_b@;NmGS*x-JK1g4FT0UL#Z@{m*-BzK9XsRR
zEZfavLIzvw94&{HM3hqWUX;g{;_dg}?f2~WN&yI!eu(%Y3jb)eqk_NEci~dRAD!u0
zG;U|KrO9ExIcR&hNY$N^8c-6nV4-sak6t^y40Ar@ohMc{5Bvs7+*3|Bt+v}vlA+y>@3+uu$P)9jaK
zy30`tg+@sgUK=AX;#CPZ{t%q49f)ak`85^#H;Rr!scoIiUz2On35IP|VoW5bQV$-vc{D8n7_ST5ch4hs-uMuW)@
z6tM~I)(S(PYm%N$HDqu@m)^|^4X!~nQlD4{8x|JS)4pxQ7ni+k7@BnAGI#EB
zP@8$HcdPWe_+ARvyrj!{*x3=&6B5182DGSb%KYHdIntsJ0eSu}ps8&ry|lv{{wGu3
z#`7}e*_Yed#%_D0IN59cRUUVB!pG_YLnP*Zt6NPM3T*P(J|40ZkRZ?YB1tGXcmFOV
zD+tSV)qK`Y-=0Fq)V0PmMof)9Qc^vY@(JP&J|26&e3~2LCGP*!5ZbSJ{KK|kH&EEv
z$UJWax1xA;{{pX|8J%GN(GKytVVTyolssIQ3`Pg9`+U;Q^~y8yS-#%*UgLzmxnm$_
z{8Pf*0YEBm7AJ_epZ)qEueDy|;R9PP=XIv4!irt2cI^tml4vX>-<-2W+dY3efsS91
zXIJ#KcqwnYQpX2Kj|z)z|IkrwM$on00I%(;ccxsSdV|1_Go7~%S}#+v9W>GagFdj>
zgnANv9+Rj|Rm0)_6`*?aHHxFbnX
zn55ySf``s)Y&^uCw_&>1SfnE7GS@~!rQf4?t%o11HSwBed-n=zdCnJk|K|HQ9|fq-
z&Osl3^SYkEEa!NKQHg&`Y!B}FVP5!yo_pE+VFhv@tt9O3o_)0`vFaD3{8!j!P&S1-
zQo?B4WRHbVU{t6?>7Xh57W8jM`R9^;>ngl>RfGn+SZcSfuHuF19ff~{1!?Is;_&D3
zc>UDS8V}2EE`k4E9{29B2=`$SbpQV+>R5;&g$IK9mPYzowem{U3#LjHla_)k%x_M%T<6tg=u>|t1v8#MWy65^$u
zc^5GwjN5)9RH6p(pYTqGr%k{0$zW*k<<}LdrUTYTI&ErEgm|r9qW=F}LX7gaYSl+k)9?t}geo^mxNU+6(j_{8x`ltP|#9Hx=xpc4(RFtqZ#y?!<@6wPkO9NYC82=fbdkDO8fCh(-#NuxAQN!
zMztfL{N@DzbcZk`v%`^cE7MNnX%jWke=!PTH{yxhB+i99`Jnc{(KaY%#NYUOOWE0L
zTb3X0o)nWM+j{PAhf2AL9~YMvV`tP*Z;@bK7e#TM;dBmOJLUyplHOJX(52Tq63clx
zt9adrVLr@qa*8&$YwIMMN;Z^tHZjHPib4Db#?C`g>XY51M#gzLY)s|MIO95>q)bKc
z(4CpeEN|rM#-1sXsKm_nrlm)ZzpaXGk;5{>#MI)tpj9i;Ci23^bD2c
z+ej7ow5FtFtIzQOQh@zVL%VxR@AkJTEs38`S(ld&w(rOVx9?vWtFdZ+Ye<7lCb#tV
zZEgJ&$+!1R{Vh!Iu#5!+d?C-S@9Q9BU74&UsLtWpBM+X=2&&$B^>xL`%#Nq#q@q@A
z8C!4XX2;Wi5)z%gg|(@l!jMic=z0~)w)|caVgX~6uZ6cC&K$q>hTJFE3k(pG6Q};p
z9~0%gC-!`@F%5Nths{TDb*GK?*q_PgYV4yiHbL5kSZ+l+g<%Cbztr!%(HD*Tb+T-2
zi5TeamRc$c3s1V`lxEDoAi2*7o3hA@XJMB81suqt)x5r!UcY&RSrYnTXvNgH#@GUe
zzDc1lbrw4342n_}+9i@aDR*#%o_jSSPj5_TQP$u-IxpN#dNs8_VX(1*o$c4Pc&ke3
zZLu{aUxumiqnz1d!Qis8RG|I#WiIGfM6NNMisPe7^_`;)!tg4?Z1;
z@+cI6#F@&@|MU>Tk#`c{r@ZWhA>heD$zV$K(6egszZ6oCkTLjP&smfi?_VbT>1OTwfbe3j!tWeAkK#pPrY=T8P3)&(hO46gr76jE!^^)K?|dViBkju|tB8
z8Wtf@l}GgIFgC4%J(D*Io_8r>tyeY92QoM<*~Z_-aI}+hY+=0Og5rFOr4S6`c2?H&
zU|UuWYc1ROOE@X3zpQ5cQT4+>(x2o!G%ZT;LY*pHt*x=%F`MO6eK{j(=Urtf_toYXiMN;-o?Smr#jH7Asj-2q5HH-XLD}T=?l4ejdH;Yt4ee#|YBW?^8cTLc~xZ?>lAGo04*q
z+-fxOSb%>GY?xaW!#4h?;e|LrO6p8mMwll%roAm!U`Cnr*8Iaak#bX-quoY3;N#m)
zvW-zEX!j>UeUUFgOj!p|zD905Jzkk1AGD}Ur3hwV0R{P6QltFLr?)Ymmr%%EM)-Szh%>;rq5JbH^
zWkp%RrtpG+LRDAtH{Y9r6XGw}#!r$L94wl+9Lgr<4?Eu@rAl%FPc2Eu=bTHJeS2nN
zr;&OK4jVu6U##n9yEX&xLLWueYQDV$W81U^C4W2J4--Lcsq9c)VwFrS&d$GKzTT!5iGVCfwzT@Gl(4o)HzpCG#Ggkj&BDQPeu4x
zRzBDR3M!PD7!0D^a=pU+e7{v$!Bfc68a_!!>!kbsaQ4T>BKUSSJ4_y)Y~>RE(noP+
z#O&>*VB%?gj>GH7{ZMW^tIJji7?
zXtO-ES*^1>t=Mt2cEfnK%k!U9h^3SyN72mc!$t-Aj$d_SNl&vp)^cbth7@Iu!Y2i#
zZfktCFDV*#Hp4Bq_w4j`ztMWVc7Oe9zQh)bHvBjOtu9waM?0a%e|p4cG6H^`8#&u~
zSYwMk>ZXPz)VKXL#=mN=>UEYXN?RxO(Gsv^b|6Hyg3_d;`i-m7$@iT&6SB*&*L$Y@
zKJM|{(QE50(Q(|(;nxKhv6f_41s7)$wvZ#cBSey^9%70A&a>$E!Okx
ze2~Pup6VeR;R@9V$aBv!K{jCQuJg_9j(aorG_#KoOkz>dDfVM0(!f;en>il80TrV}
z<`sJ%LH8cjDBPMMwP)Mn=M=2EkH>*^mwB?Tknwd$p3jh@>1hQI|JEaOzv>?heYOed-sWwbFWO>b|r8SinNNr*2x`
z1eWVuFS~AWb#Vw#3G9#GdU%{yP#~<7{l|!Sy6~iJD^0zAB1}4HwrW*
zWzoNO-@P?ct<)UQi4lf6h?p29Z`D!vDpu%?zgU^{2+1X=Mj2ZKBh7^`;`D>chUXka
zC#uG-4?Mp%9j!L?V|U(uYaR^TXp+!lHn>^v`7}6tIlZcSER`
zUS^%T&)OqSMOHU8YudS63G^Wzyr%@MjU39vRifvd^yIRX+BBYmc5>!F34><_dQPmi1tN%ovdF1B^2#kk#uK*U1|a4Sjo6*o$o|{`Q9yP}5e)xABj41fP_pvd1;U_hjwn4X)&x
zts}Lk*QH)GXM1OE2IN^!(DI-cc|s+2W$u8
zW8B;Tcu)N_HzjP3oKNf+8-MY6j_j1)d32@b6PrCTs5;ZDL7AL&>xv0t{wBYa
z)7h$vYTSA-(qBPh-(BMEhgMNSH*H%o+K7)&gJNyr42>aS0HVg_ok~QqBOZ>(3R@j3LWU=&}~?E9S2&@o&g>
zC`ul@oNeYWjOpH@)!nnXfX7B}g7`5HsF|G9!=sr-`1FEr&7i>KkWo}`Xtn|us2)g;
zcyWAh5F^KyHTGaU7Cg3dOKNEHVq@3bWr5k>Q7CrHk67bacGN=Od`0OLCsP>nHE_V)
z1CM27ql(d?uBpJ6^;Q#<=Pql(=GDc?cigkOhu*_NJ1vWp%$VFrlGP~MmYVR>85OQBAp50il3dnv~=
z5@C~Jsp$Um+*dnG1L~b^TGzoDibl)QJ>T`d@820f3v0Z7Ia_p1j90Upe?26+20ToM1GOZHpe@_cuoEVySH`M*z!*iz1{53W;lQ8ywVrT
zWVKT8*}NsEmsQ%9K4o^frtH=yoSbP5t}8c1B~dCLAV3$7>O__7CEX9UzEyB*Hv1&S
zNObiMckX%*Z>T9T?L9V{yx6ijcrb$Q)sUTXXILJZbyI*ty&S%?pmS(heIA=@-1;!=
zUimxvRE|HR5Y3n*2@R17!kM(U*bPgfE1LO$0xv^toVQYVq
zCLD~bmG6=(ecI&ythA(Hq*OqKirg`xu%ewR`0niVeQo<@!~wkrleD_X?qy+Z!3RK~Z?b&1
zeOGfkepZ75cgmK#Ak0A@Cx%*z4@slrOSV+~_m}p^-$I@Zv1%DHLuOP|O?Ix}*87Q)
z2Wg5X6oPh7e~f~tF0bENk)wG8ESJ|+IWh+1g-@}fTUw75bH1oP9@NtwK{LbDS?VQw
zWJ;7#rZ&V6FTWcK=XMSmyw{Yg7!p?hnicDtAbs;#H&lHa^tws;mtb!6S=g?c>PU*3o)dPbRS
zq+Mk3h2geC!3dic^`jrD*%oMMF=~^mF4J=~Z|hYnaM#qm`DK;~M^U0*ZkakjIOPdyxwIM=QKc*eL{BGynCk)v&O>$X{&b4$ghfnZ9|8j)S9I4R`yoNTN1?|zfGGs{qnw1Gj01a-DFp4OKWz8XFzIDj|TaIYW!Z0uw|^$PU103-KjwyR&Kbe
z?&2=HnEWiS{E|Ro;^E}lxR_MNlf&De5WNte_sAp()Pia?688|C<0;rVp*~!jx&?MI
zC4+Ht{oJVf*|vf48*VEaPIp+Pe6uH2t7w=U8{vIIA5)Ooyt;e5*`e-65C^UV6dur=
z3I<#m&eqXeGxq93p>2)u-+5&V=K{NyalwE~wUTJXpUB#c_n~8xZr_mgmM1qk$PvBwIBwjqYC)rvxZpDi*R=a(yZs#<=cO6u`SYQ>
z$rlDFw8ui*7cKTp7S4@ge|2P{w>MbOB?e8m?2|7hrKO7p1N1)WkULE!OPCqkFj+VCzg&6s|e
ztd4M?K~o0XwhjRmvm4|JgH}+GJf31HaZiVix(>OY)?Xu3^xl0OP`846v=4W>$46fB
zYLhkeFjvvz`d-8%**Hq%Ae`p>TJ&Pmzjq
zOe}X7cIFgKWz*TcJ6;U|b;DS6_wE9VC}}MIqA8AFsb+4hV|vbhmcgQJzt}b~!8)Jg
zUk0%&{EWqowF3e0Zl52AGN&`+Wu7;kdsp}x9so-shIA{4nDVN0qE4740J-D6Ph;&%
z4zDJj86c)F=7hm0k7701oe0z=jJ}@z9(??Ya0i{6mDX(ky@c$r?xh6mU2Dw1@ge=0
znB2uwMx?O245*LkwYmMOZ{;p?FqNNxMai*QECoU}-m4!9TG^0ZtMmspq9)3v^<$N`
zWDrE33h+tOe7BwItwA>{Zqc}2!Eqd9ugsvJ46pfgmr8(Ajkd*9DEz~?aFIX+k9`@oDgJ(PhEb#HA>
z_`(9x={W>wq9gcmL?zyi!^+DXw>*{L6GuxQ#}{aL+C3f|U(9^R7`66Q7}U1GH?%Pr
ziL?yCGf%?{NMn_K;sa)M>Uiq9$4Ifr2x?xcex7Knh6kjKstjuimq=<-t4}=0NV%!t
z;xw2T1fv6958$I`orv?vDn!Pzdf%kTo91oR3vzVoj|EHR^|AGAt?9b-vYoUj9Fx9(~?(9N>}o*d!NH;gVWu_yg?{M
z5Y9t9Gsf)OVY3cCNKnXEhDVN0R&3)vlO=p!M%#;0d?M#Rlf#qp0<((BBQC?FbfeN$
zWDM6y5uo#@D3XHS-y0Dib?6(1#gr7`(HylNsUb$^#kuRrwtJ6-_kyO-_)IW~1+x2?
z_rM&8tB(Iexroz`h0~ht@35f~86_l*5YR?V)VI^yurkHRCRhm;RvtYk4X=;GGOT{{
zfm`m$WfC*2AMI*g-UKW8VE}OILV5QGSBCG1K7LzMC68#-m%Ztrut^|)yp%*`)Aam$
zIutca$OcsMw-T1}tOd%a-ypwt+=F7c2Y1C1_RHR@zhZi$TfCme_LQdIOCbk%s!Q_Hsq1BB)mYXiyiZRf2ej8$Eu3bvwHv)k3tr?lFi~_Go$%Fg)^3nm-UCOA?peH{#3UB}9CL{D9K9fK(Mr<4
z?QE1pzmjz$szA@E#4aw_O?Zz*X&zWUbblKnkyfkimi?Z0_pi;MNA1eKJFS@IVKC0txOk!HC)NFcA{`^8|@8PF4>lDn_
z-)hLQV}wa&K~|{hw$yF@+l7TTH(-OZy2CcqrDnyPI-!k<01b32m5qh;#LdLmTHe8;
z?U04~Ww3}S-f~ZihTAp+Ok}SeUyHxJt>DnN#c-@r$=H6mNEzq~4H3WB;ygR{+~#qk
zAe*QBM@d~zz;-!jbYV>#;}6RDfa+n{T?d^{LZov}1xSk=FA5WDQJNXsYTxdYTu8$d
z8<5nYoyFt;pX=Eg$s6BybT{5=MQJ?PY(i`kq`c$zeT6d7H_8umcMffSR9M$|@1|WF
zRw+~>b$}#Ev*u=1ymj1t?|eQ*onbwGMW~u^Y)Rqq!6hn}AP1{<*9jMkr^|^b384xC
z`2rO8n5
z`j+HII>~x=G-yWlMShPS(iy4wF7wEaQ-H0&3i8M#TcnsFYRm`6L+|Agg!F<~H&uBy
z3=foF@8P||l?E!Zz>SFAI!ZEYpUqE8U+LQ3Lm0#AC*~ZYjYn?!%hznPu3$O(@7kFL#T|E2Sduu(gco
z5sB2#-OA|e3qpa6=475c!kTQ@&xJKd+FAI8t3XHHkDP#O0TV=!ySzs~q?
zlaA3Xh?qG}R4NPbICOICioC9`cs}@!+c%$|(so4(r{$Ri4OHBOo)=$q$!!ltnp?=a
z;>EtXfp_(*k@h4zHU(R4KmARVbNN%}1Jl-6XEya^@ApHWBi}s8oVv?B6Sa1*1_43p
z4GwHuEyASVUMoN3(2td&^k`7rFBMGPr8`9YHPULX@sxo+-~g*7Lv+hY#C);#6VlW)
z7t|G&?K_2hX|7p%_T9)V!ET}^$!xG-ZRUiCJE3dhq8K}Nzgdr!683!p$HH&t(%sev
zP0x(A@u@G|lQVzr>g*^axq^4d$K&F@D)C2-V_kc%9!GA8%=NmS>nnqIYt8^Re+7;4
zf-YEdv?=G-7kh_R7DjlC2A}Y>ji>YcBE+H=HhNHnah`SbhS+{gF3Pj_vZPZx(o(9q
zyO+S(HV?e(+a{pVFm+)FjWiekXnTbB6IvaJFBgHkkW1{$5=Y(vV#K!s{ri$P#VK({
zsjvdA7INKdJu%WNM{GgiP4sYAHYiBc0;fA*&)@j5mUUeZ6WB5AA6oSZOkOBeTMsBZ
zyNpUL@C&j;6pZ-y-ryHYnW!4BY30m?;i0*&k>nH0aixu7&EF7a+a?v7jecE`DGPC=
zGTXS{`P=$eyHdkEvhuYrqrj{4+19;`O(UX6w|hhIN#>W`(7$r*W7iz=OYv
zFNsb8aKU7ws4Zbl!^`Y?Gkz%&@=pbY%{N0Ol7nIsl7rNlR-I%6dyXnV$cZqOMp4V2
z-a2X-_A(jo_SBazD@Ab%Z|tMy`*7pil4h1P7jw`CKF;QI)*Vbj!>0|nBYQanmsUAq
zKkjxex4&(2F$NSM0aHwhoz!$ZFLQK#3DP9@-dzJck^LJ-f?B558EQ2^OoHviK8ys*B`fn;8jg34W-e
zsPds`cn%NW+xwp
zoHQ1lAUwX&KiJCcDk;Z=`yzOb6Ai?mlXxjU60}g3=aVNOGB}wKlPTA7;$k9P_{O*)
z%SFbl!{oNj!IPmP#XKJPuWJUAEMk*6uK0P@xok98P%dpa8l}X4=vLEVJ1mx}EBqG9
zF6X6bD;hnWsLG4fH`o3o#2$kR`q(~wKLX{(cui>S9g5!=jJ*okw2MK?pgi-#-OO~|
z#-9b#_r;taj>eiEtmA@4MztLk1%v%9WXQLZ)-=2(o1+*$t&nZ=t4!iUomP65X-#1~
zf~(R8!?hDumCZ-(%K_HFIIhhLb~)FO6OSBY%cuCM&6>CT{&bSoq&bM#Kd5Y5F?&HA
z6boDQZjGH2*wO+NjGVpf+3LY`1YzO%+3KD?=^j*+SHZrwp9_Z>k~6%j&o_TvuOfGJ
z&lKYI*@btQdEn+e9lCO1Y+W&-IDaK|Y?rZ_znM+DSX^iTCi_jM0@yH%R(4;o0!_
zXJnmFlhAi6F57;(or68ND%HHH#mu4dK}Ztii&~;)^MQc*r;K|{N(?`p>=zU~%|*YY
ztG$S{UC8hdhr*&_%wO|R?%CI$WLUN3lGWyZdNlY`LQQ>ge~L=fL$Q??hN|VuOfzV
zf1_NyeJXhq0&ElRLFF5!@H^B{>L=vh|f$()Zoc!ac6g_g1|PjENg`+Znz
z2{NE_F5Ip=eEq$VKZ6)5QRETq-XtZ|OFPyVKuBIl(>Q91y13c-BZhJD*m+^`4s(8>
z_~e_x5*wSsScI~DX{2OulfnQ`+!;k|hxhnTJ2xBp*NRdBC*pFIp2Vgya$~!bQDUD`
z!mVVlr^pLe*5&I%ymTy|Ywy)|sq$UV{PrVrA_l-8og1Wzmzce_CyLuA`Vf_zsXqDZ
zN0f8l_r;i@oTGpMiZ5=}G5k*+r1wZyI(D(PPIy!6WfN)Q5GI$
zBIm1>vHeKDl`WHw;DpF9aWr(@^QX5PA@CFK4^f(tFraLjvOSV3hHmCGYZ=}SDUXHub6pym(a{4
zq#`=nYyDf;;1LX0SWkqtlxbZz`{&eS7NY5hGSX2H=EA7qv-^r|QZK3wA3u06(=fh-hNJcO>gB~4
zJxpQzy6%dvWd^-YVoy4ClA|v#qEeuN{y=Zct@y$KJKwOx6%?J?>(5rhD)f3(LEso*
z`zjb$O2PA`v$ZKy3C&o>(;q-_FCCeogN(~
zl?gkix5;6U?b48{f&At_&u4kbx*|@AUY8NF9u2JCC1^(4q^M2i#59g8yROxo1?pis
zmc-@u1Z*@Wg0C2wQyh)k9|jfyO!|JA4aZ91kE9fj;^bA7+mJ7C3!tz#$t_RQ-$(Y8
zjkl5Z&{F69j%cUci`I{qKF5E(&X04a4h+XK*O*e=Eu!&k$_(D>&+8c^Ys~NvMl?`RoRJPPsT9ChjCRj8(p|h(lE7e~7O-O2!3AVe(o*RvO
zDSW&7MQzz3+w#t>y*uH4my-Un#|>%1<`!2OCl9GOjoLA#ap@$=UEQ2*>MUTYCx!+0
zIF5#&3mYGWqD}~MuP7pg-~QO5DqHG2i;63{wnlN%s=MaX=XLkeJ7J^cPzgNxkQ^o)
z3M8iqXrXyhSJHO@TiK4nM42h?L-S^@_~8NUn8RaNuzr}5&yX@;FZw;1%h1u<*Qn(YQ1Jw6UWts0sH!Qy19ZQHUX+N3gGH6-=g?~cpZv39i{_E@wcHhsc#;e4$W
z^;NN>b1fevA;k+cB*PzQV#TK}v*C{trT?2iiQtr0hH`&g0k2VG+kM;ZsvFNj9~}(3
z3n7ksGw4orop*KAkMk2tY^MXCf9tIC6`Qd$Bj%7XY!D94N%bOi8Dcs?%scpljtgu^
zxk;tulf1-c%>PTU^pnh<=V|+BrsrcA^o3D10QAxl=n*%e>1q}gJ5+Vj`O{Ny{wg%Z
z!jQGCs1c@01|zwfO8DQa0j%WSCZ7XJi5}RY6CR_b^pIMjL1&-c1!Xo|5-YMN!8!_B
z@g}`(UtaaxPYu5XtNrI39{$)Az)wccGs#}GuboVplX%nwH?|?ytvq49Te^H`azbBW
z_wxb;gaV^>B&EWVZoz1Z|9A4g`omhJOwgs)vhS0Y2d4jn{cLq2n`{i3BaKtrutdcAA+yrySksOtdO
zck*((nGp~u7zFKao1oTn>p*CY&X3Iq;*XfY-BEHwLuvCitM4RG6#u*-V9_tYes_{!
zC%waMy&%C(>Isj4&z4cmxj+fNA(PIwqMEnS1pnq%=FIb
zOH*vfHqOiS|1IjhMpA_LRc_ef27LD-fxBtCeJdj}jh`o~UW9Jn1}$Ho6WDo;i+{Di
zn(~5!UNgU3i+jog*CqD|xGo5om{?YaY_r+Cv;w?o9;L41XyR}%dSC+umejfPfpc=)y=F5gxYxkZ)tT?qf;(a~~
zn58}ekHwhw2)xM_yfXB?NO)4{pZNwdhrNQML^rc+ao2<$2+`d99JI$h=hR`Z*&j9p
z{aGcp=56pP#7bDpIRRB+s;_`sxTBcm!oa6;K#u1)mS4PQby85}Sb4q9e07i?OPXGV_
diff --git a/docs/images/Architecture.jpg b/docs/images/architecture.jpg
similarity index 100%
rename from docs/images/Architecture.jpg
rename to docs/images/architecture.jpg
diff --git a/docs/images/Wechat.jpg b/docs/images/wechat.jpg
similarity index 100%
rename from docs/images/Wechat.jpg
rename to docs/images/wechat.jpg
diff --git a/pkg/common/discoveryregister/direct/directResolver.go b/pkg/common/discoveryregister/direct/direct_resolver.go
similarity index 100%
rename from pkg/common/discoveryregister/direct/directResolver.go
rename to pkg/common/discoveryregister/direct/direct_resolver.go
diff --git a/scripts/make-rules/common-versions.mk b/scripts/make-rules/common-versions.mk
new file mode 100644
index 000000000..572585fce
--- /dev/null
+++ b/scripts/make-rules/common-versions.mk
@@ -0,0 +1,58 @@
+# Copyright © 2023 OpenIMSDK.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ==============================================================================
+# OpenIM Makefile Versions used
+#
+# Define the latest version for each tool to ensure consistent versioning across installations
+GOLANGCI_LINT_VERSION ?= latest
+GOIMPORTS_VERSION ?= latest
+ADDLICENSE_VERSION ?= latest
+DEEPCOPY_GEN_VERSION ?= latest
+CONVERSION_GEN_VERSION ?= latest
+GINKGO_VERSION ?= v1.16.2
+GO_GITLINT_VERSION ?= latest
+GO_JUNIT_REPORT_VERSION ?= latest
+GOTESTS_VERSION ?= latest
+SWAGGER_VERSION ?= latest
+KUBE_SCORE_VERSION ?= latest
+KUBECONFORM_VERSION ?= latest
+GSEMVER_VERSION ?= latest
+GIT_CHGLOG_VERSION ?= latest
+KO_VERSION ?= latest
+GITHUB_RELEASE_VERSION ?= latest
+COSCLI_VERSION ?= v0.19.0-beta
+MINIO_VERSION ?= latest
+DELVE_VERSION ?= latest
+AIR_VERSION ?= latest
+GOLINES_VERSION ?= latest
+GO_MOD_OUTDATED_VERSION ?= latest
+CFSSL_VERSION ?= latest
+DEPTH_VERSION ?= latest
+GO_CALLVIS_VERSION ?= latest
+MISSPELL_VERSION ?= latest
+GOTHANKS_VERSION ?= latest
+RICHGO_VERSION ?= latest
+RTS_VERSION ?= latest
+TYPECHECK_VERSION ?= latest
+COMMENT_LANG_DETECTOR_VERSION ?= latest
+STANDARDIZER_VERSION ?= latest
+GO_TESTS_VERSION ?= v1.6.0
+GO_APIDIFF_VERSION ?= v0.8.2
+KAFKACTL_VERSION ?= latest
+GOTESTSUM_VERSION ?= latest
+
+WIRE_VERSION ?= latest
+# WIRE_VERSION ?= $(call get_go_version,github.com/google/wire)
+MOCKGEN_VERSION ?= $(call get_go_version,github.com/golang/mock)
+PROTOC_GEN_GO_VERSION ?= $(call get_go_version,github.com/golang/protobuf/protoc-gen-go)
\ No newline at end of file
diff --git a/scripts/make-rules/common.mk b/scripts/make-rules/common.mk
index f8537b6ca..ffbb69a55 100644
--- a/scripts/make-rules/common.mk
+++ b/scripts/make-rules/common.mk
@@ -78,6 +78,13 @@ VERSION := $(shell git describe --tags --always --match='v*')
# v2.3.3: git tag
endif
+# Helper function to get dependency version from go.mod
+get_gomod_version = $(shell go list -m $1 | awk '{print $$2}')
+define go_install
+$(info ===========> Installing $(1)@$(2))
+$(GO) install $(1)@$(2)
+endef
+
# Check if the tree is dirty. default to dirty(maybe u should commit?)
GIT_TREE_STATE:="dirty"
ifeq (, $(shell git status --porcelain 2>/dev/null))
diff --git a/scripts/make-rules/tools.mk b/scripts/make-rules/tools.mk
index 917c18cfe..5335d094d 100644
--- a/scripts/make-rules/tools.mk
+++ b/scripts/make-rules/tools.mk
@@ -64,81 +64,101 @@ tools.verify.%:
## install.golangci-lint: Install golangci-lint
.PHONY: install.golangci-lint
install.golangci-lint:
- @$(GO) install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
+ @$(GO) install github.com/golangci/golangci-lint/cmd/golangci-lint@$(GOLANGCI_LINT_VERSION)
## install.goimports: Install goimports, used to format go source files
.PHONY: install.goimports
install.goimports:
- @$(GO) install golang.org/x/tools/cmd/goimports@latest
+ @$(GO) install golang.org/x/tools/cmd/goimports@$(GOIMPORTS_VERSION)
## install.addlicense: Install addlicense, used to add license header to source files
.PHONY: install.addlicense
install.addlicense:
- @$(GO) install github.com/google/addlicense@latest
+ @$(GO) install github.com/google/addlicense@$(ADDLICENSE_VERSION)
## install.deepcopy-gen: Install deepcopy-gen, used to generate deep copy functions
.PHONY: install.deepcopy-gen
install.deepcopy-gen:
- @$(GO) install k8s.io/code-generator/cmd/deepcopy-gen@latest
+ @$(GO) install k8s.io/code-generator/cmd/deepcopy-gen@$(DEEPCOPY_GEN_VERSION)
## install.conversion-gen: Install conversion-gen, used to generate conversion functions
.PHONY: install.conversion-gen
install.conversion-gen:
- @$(GO) install k8s.io/code-generator/cmd/conversion-gen@latest
+ @$(GO) install k8s.io/code-generator/cmd/conversion-gen@$(CONVERSION_GEN_VERSION)
## install.ginkgo: Install ginkgo to run a single test or set of tests
.PHONY: install.ginkgo
install.ginkgo:
- @$(GO) install github.com/onsi/ginkgo/ginkgo@v1.16.2
+ @$(GO) install github.com/onsi/ginkgo/ginkgo@$(GINKGO_VERSION)
-## Install go-gitlint: Install go-gitlint, used to check git commit message
+## install.go-gitlint: Install go-gitlint, used to check git commit message
.PHONY: install.go-gitlint
install.go-gitlint:
- @$(GO) install github.com/marmotedu/go-gitlint/cmd/go-gitlint@latest
+ @$(GO) install github.com/marmotedu/go-gitlint/cmd/go-gitlint@$(GO_GITLINT_VERSION)
## install.go-junit-report: Install go-junit-report, used to convert go test output to junit xml
.PHONY: install.go-junit-report
install.go-junit-report:
- @$(GO) install github.com/jstemmer/go-junit-report@latest
+ @$(GO) install github.com/jstemmer/go-junit-report@$(GO_JUNIT_REPORT_VERSION)
## install.gotests: Install gotests, used to generate go tests
+.PHONY: install.gotests
+install.gotests:
+ @$(GO) install github.com/cweill/gotests/gotests@$(GO_TESTS_VERSION)
+
+## install.kafkactl: Install kafkactl command line tool.
+.PHONY: install.kafkactl
+install.kafkactl:
+ @$(GO) install github.com/deviceinsight/kafkactl@$(KAFKACTL_VERSION)
+
+## install.go-apidiff: Install go-apidiff, used to check api changes
+.PHONY: install.go-apidiff
+install.go-apidiff:
+ @$(GO) install github.com/joelanford/go-apidiff@$(GO_APIDIFF_VERSION)
+
+## install.swagger: Install swagger, used to generate swagger documentation
.PHONY: install.swagger
install.swagger:
- @$(GO) install github.com/go-swagger/go-swagger/cmd/swagger@latest
+ @$(GO) install github.com/go-swagger/go-swagger/cmd/swagger@$(SWAGGER_VERSION)
# ==============================================================================
# Tools that might be used include go gvm
#
+## install.gotestsum: Install gotestsum, used to run go tests
+.PHONY: install.gotestsum
+install.gotestsum:
+ @$(GO) install gotest.tools/gotestsum@$(GOTESTSUM_VERSION)
+
## install.kube-score: Install kube-score, used to check kubernetes yaml files
.PHONY: install.kube-score
install.kube-score:
- @$(GO) install github.com/zegl/kube-score/cmd/kube-score@latest
+ @$(GO) install github.com/zegl/kube-score/cmd/kube-score@$(KUBE_SCORE_VERSION)
## install.kubeconform: Install kubeconform, used to check kubernetes yaml files
.PHONY: install.kubeconform
install.kubeconform:
- @$(GO) install github.com/yannh/kubeconform/cmd/kubeconform@latest
+ @$(GO) install github.com/yannh/kubeconform/cmd/kubeconform@$(KUBECONFORM_VERSION)
## install.gsemver: Install gsemver, used to generate semver
.PHONY: install.gsemver
install.gsemver:
- @$(GO) install github.com/arnaud-deprez/gsemver@latest
+ @$(GO) install github.com/arnaud-deprez/gsemver@$(GSEMVER_VERSION)
## install.git-chglog: Install git-chglog, used to generate changelog
.PHONY: install.git-chglog
install.git-chglog:
- @$(GO) install github.com/git-chglog/git-chglog/cmd/git-chglog@latest
+ @$(GO) install github.com/git-chglog/git-chglog/cmd/git-chglog@$(GIT_CHGLOG_VERSION)
## install.ko: Install ko, used to build go program into container images
.PHONY: install.ko
install.ko:
- @$(GO) install github.com/google/ko@latest
+ @$(GO) install github.com/google/ko@$(KO_VERSION)
## install.github-release: Install github-release, used to create github release
.PHONY: install.github-release
install.github-release:
- @$(GO) install github.com/github-release/github-release@latest
+ @$(GO) install github.com/github-release/github-release@$(GITHUB_RELEASE_VERSION)
## install.coscli: Install coscli, used to upload files to cos
# example: ./coscli cp/sync -r /home/off-line/docker-off-line/ cos://openim-1306374445/openim/image/amd/off-line/off-line/ -e cos.ap-guangzhou.myqcloud.com
@@ -146,7 +166,7 @@ install.github-release:
# amd64
.PHONY: install.coscli
install.coscli:
- @wget -q https://github.com/tencentyun/coscli/releases/download/v0.19.0-beta/coscli-linux -O ${TOOLS_DIR}/coscli
+ @wget -q https://github.com/tencentyun/coscli/releases/download/$(COSCLI_VERSION)/coscli-linux -O ${TOOLS_DIR}/coscli
@chmod +x ${TOOLS_DIR}/coscli
## install.coscmd: Install coscmd, used to upload files to cos
@@ -157,50 +177,50 @@ install.coscmd:
## install.minio: Install minio, used to upload files to minio
.PHONY: install.minio
install.minio:
- @$(GO) install github.com/minio/minio@latest
+ @$(GO) install github.com/minio/minio@$(MINIO_VERSION)
## install.delve: Install delve, used to debug go program
.PHONY: install.delve
install.delve:
- @$(GO) install github.com/go-delve/delve/cmd/dlv@latest
+ @$(GO) install github.com/go-delve/delve/cmd/dlv@$(DELVE_VERSION)
## install.air: Install air, used to hot reload go program
.PHONY: install.air
install.air:
- @$(GO) install github.com/cosmtrek/air@latest
+ @$(GO) install github.com/cosmtrek/air@$(AIR_VERSION)
## install.gvm: Install gvm, gvm is a Go version manager, built on top of the official go tool.
-# github: https://github.com/moovweb/gvm
.PHONY: install.gvm
install.gvm:
- @echo "===========> Installing gvm,The default installation path is ~/.gvm/scripts/gvm"
+ @echo "===========> Installing gvm, The default installation path is ~/.gvm/scripts/gvm"
@bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
- @$(shell source /root/.gvm/scripts/gvm)
+ @source /root/.gvm/scripts/gvm
## install.golines: Install golines, used to format long lines
.PHONY: install.golines
install.golines:
- @$(GO) install github.com/segmentio/golines@latest
+ @$(GO) install github.com/segmentio/golines@$(GOLINES_VERSION)
## install.go-mod-outdated: Install go-mod-outdated, used to check outdated dependencies
.PHONY: install.go-mod-outdated
install.go-mod-outdated:
- @$(GO) install github.com/psampaz/go-mod-outdated@latest
+ @$(GO) install github.com/psampaz/go-mod-outdated@$(GO_MOD_OUTDATED_VERSION)
## install.mockgen: Install mockgen, used to generate mock functions
.PHONY: install.mockgen
install.mockgen:
- @$(GO) install github.com/golang/mock/mockgen@latest
+ @$(GO) install github.com/golang/mock/mockgen@$(MOCKGEN_VERSION)
+
+## install.wire: Install wire, used to generate wire files
+.PHONY: install.wire
+install.wire:
+ @$(GO) install github.com/google/wire/cmd/wire@$(WIRE_VERSION)
-## install.gotests: Install gotests, used to generate test functions
-.PHONY: install.gotests
-install.gotests:
- @$(GO) install github.com/cweill/gotests/gotests@latest
## install.protoc-gen-go: Install protoc-gen-go, used to generate go source files from protobuf files
.PHONY: install.protoc-gen-go
install.protoc-gen-go:
- @$(GO) install github.com/golang/protobuf/protoc-gen-go@latest
+ @$(GO) install github.com/golang/protobuf/protoc-gen-go@$(PROTOC_GEN_GO_VERSION)
## install.cfssl: Install cfssl, used to generate certificates
.PHONY: install.cfssl
@@ -210,43 +230,49 @@ install.cfssl:
## install.depth: Install depth, used to check dependency tree
.PHONY: install.depth
install.depth:
- @$(GO) install github.com/KyleBanks/depth/cmd/depth@latest
+ @$(GO) install github.com/KyleBanks/depth/cmd/depth@$(DEPTH_VERSION)
## install.go-callvis: Install go-callvis, used to visualize call graph
.PHONY: install.go-callvis
install.go-callvis:
- @$(GO) install github.com/ofabry/go-callvis@latest
+ @$(GO) install github.com/ofabry/go-callvis@$(GO_CALLVIS_VERSION)
-## install.misspell
+## install.misspell: Install misspell
.PHONY: install.misspell
install.misspell:
- @$(GO) install github.com/client9/misspell/cmd/misspell@latest
+ @$(GO) install github.com/client9/misspell/cmd/misspell@$(MISSPELL_VERSION)
## install.gothanks: Install gothanks, used to thank go dependencies
.PHONY: install.gothanks
install.gothanks:
- @$(GO) install github.com/psampaz/gothanks@latest
+ @$(GO) install github.com/psampaz/gothanks@$(GOTHANKS_VERSION)
## install.richgo: Install richgo
.PHONY: install.richgo
install.richgo:
- @$(GO) install github.com/kyoh86/richgo@latest
+ @$(GO) install github.com/kyoh86/richgo@$(RICHGO_VERSION)
## install.rts: Install rts
.PHONY: install.rts
install.rts:
- @$(GO) install github.com/galeone/rts/cmd/rts@latest
+ @$(GO) install github.com/galeone/rts/cmd/rts@$(RTS_VERSION)
# ================= kubecub openim tools =========================================
-## install.typecheck: install kubecub typecheck check for go code
+# https://github.com/kubecub
+## install.typecheck: Install kubecub typecheck, checks for go code
.PHONY: install.typecheck
install.typecheck:
- @$(GO) install github.com/kubecub/typecheck@latest
+ @$(GO) install github.com/kubecub/typecheck@$(TYPECHECK_VERSION)
-## install.comment-lang-detector: install kubecub comment-lang-detector check for go code comment language
+## install.comment-lang-detector: Install kubecub comment-lang-detector, checks for go code comment language
.PHONY: install.comment-lang-detector
install.comment-lang-detector:
- @$(GO) install github.com/kubecub/comment-lang-detector/cmd/cld@latest
+ @$(GO) install github.com/kubecub/comment-lang-detector/cmd/cld@$(COMMENT_LANG_DETECTOR_VERSION)
+
+## install.standardizer: Install kubecub standardizer, checks for go code standardization
+.PHONY: install.standardizer
+install.standardizer:
+ @$(GO) install github.com/kubecub/standardizer@$(STANDARDIZER_VERSION)
## tools.help: Display help information about the tools package
.PHONY: tools.help
diff --git a/scripts/verify-standardizer.sh b/scripts/verify-standardizer.sh
new file mode 100755
index 000000000..08a13b9a2
--- /dev/null
+++ b/scripts/verify-standardizer.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+# Copyright © 2023 OpenIM. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This script does a fast type check of script srnetes code for all platforms.
+# Usage: `scripts/verify-standardizer.sh`.
+
+OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
+source "${OPENIM_ROOT}/scripts/lib/init.sh"
+
+openim::golang::verify_go_version
+
+cd "${OPENIM_ROOT}"
+ret=0
+scripts/run-in-gopath.sh \
+make tools.verify.standardizer
+${OPENIM_ROOT}/_output/tools/standardizer || ret=$?
+if [[ $ret -ne 0 ]]; then
+ openim::log::error "Failed to check the directory name or file name. Your name may not meet the specification. Please check the configuration file and the directory or file name." >&2
+ openim::log::error "Please see https://github.com/kubecub/standardizer for more information." >&2
+ exit 1
+fi
diff --git a/test/testdata/requests/sendMessage.json b/test/testdata/requests/send-message.json
similarity index 100%
rename from test/testdata/requests/sendMessage.json
rename to test/testdata/requests/send-message.json
From db41c12d1f51784fe69a5ca29c2d33ed2f797358 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:05:00 +0800
Subject: [PATCH 33/86] Script Refactoring
---
scripts-new/check.sh | 2 +-
scripts-new/start.sh | 15 +--------------
2 files changed, 2 insertions(+), 15 deletions(-)
diff --git a/scripts-new/check.sh b/scripts-new/check.sh
index eb6028aa2..a0b066e5a 100644
--- a/scripts-new/check.sh
+++ b/scripts-new/check.sh
@@ -34,7 +34,7 @@ ret_val=$?
if [ $ret_val -eq 0 ]; then
echo "All services are running normally."
else
- echo "Some services are not running as expected."
+ echo "Some services are not running as expected. Details are as follows:"
echo "$result"
exit 1
fi
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index 7a2d27404..aa4079b93 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -29,18 +29,5 @@ fi
result=$(start_binaries)
-result=$(check_binaries_running)
-ret_val=$?
-if [ $ret_val -eq 0 ]; then
- echo "All binaries are running."
-else
- echo "$result"
- echo "abort..."
- exit 1
-fi
-
-
-print_listened_ports_by_binaries
-
-
+$OPENIM_SCRIPTS/check.sh
From 5749268fd623b5a85cbad0fd06565587d2a258ea Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:09:31 +0800
Subject: [PATCH 34/86] Script Refactoring
---
scripts-new/bricks.sh | 2 +-
scripts-new/check.sh | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index 2feae3d89..8c325bd5b 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -3,7 +3,7 @@ OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/
source "${OPENIM_ROOT}/lib/util.sh"
source "${OPENIM_ROOT}/define/binaries.sh"
source "${OPENIM_ROOT}/lib/path.sh"
-
+source "${OPENIM_ROOT}/lib/logging.sh"
#停止所有的二进制对应的进程
diff --git a/scripts-new/check.sh b/scripts-new/check.sh
index a0b066e5a..128c5fe83 100644
--- a/scripts-new/check.sh
+++ b/scripts-new/check.sh
@@ -34,8 +34,8 @@ ret_val=$?
if [ $ret_val -eq 0 ]; then
echo "All services are running normally."
else
- echo "Some services are not running as expected. Details are as follows:"
- echo "$result"
+ openim::log::error "Some services are not running as expected. Details are as follows:"
+ openim::log::error "$result"
exit 1
fi
From c75528f764da8b15b830e7980fdae1a1e8a26246 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:12:31 +0800
Subject: [PATCH 35/86] Script Refactoring
---
scripts-new/bricks.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index 8c325bd5b..fd51df6aa 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -1,5 +1,6 @@
OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/
+echo $OPENIM_ROOT 1111111111111111111111
source "${OPENIM_ROOT}/lib/util.sh"
source "${OPENIM_ROOT}/define/binaries.sh"
source "${OPENIM_ROOT}/lib/path.sh"
From 6f142c7bc7d027e46a4564ca723360cda0d0e9a7 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:17:44 +0800
Subject: [PATCH 36/86] Script Refactoring
---
scripts-new/bricks.sh | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index fd51df6aa..5a01633d6 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -1,10 +1,8 @@
-OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/
-echo $OPENIM_ROOT 1111111111111111111111
-source "${OPENIM_ROOT}/lib/util.sh"
-source "${OPENIM_ROOT}/define/binaries.sh"
-source "${OPENIM_ROOT}/lib/path.sh"
-source "${OPENIM_ROOT}/lib/logging.sh"
+source "$(dirname "${BASH_SOURCE[0]}")/lib/util.sh"
+source "$(dirname "${BASH_SOURCE[0]}")/define/binaries.sh"
+source "$(dirname "${BASH_SOURCE[0]}")/lib/path.sh"
+source "$(dirname "${BASH_SOURCE[0]}")/lib/logging.sh"
#停止所有的二进制对应的进程
@@ -20,7 +18,7 @@ ERR_LOG_FILE=err.log.file
#启动所有的二进制
start_binaries() {
- local project_dir="$OPENIM_ROOT" # You should adjust this path as necessary
+ echo $
# Iterate over binaries defined in binary_path.sh
for binary in "${!binaries[@]}"; do
local count=${binaries[$binary]}
From 022a0de1367e22b10566aa91bf6394eed0265a9f Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:21:53 +0800
Subject: [PATCH 37/86] Script Refactoring
---
scripts-new/bricks.sh | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index 5a01633d6..cf1e992b4 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -76,9 +76,7 @@ check_binaries_running(){
result=$(openim::util::check_process_names "$full_path" "$expected_count")
ret_val=$?
- if [ "$ret_val" -eq 0 ]; then
- echo "$binary is running normally."
- else
+ if [ "$ret_val" -ne 0 ]; then
no_running_binaries=$((no_running_binaries + 1))
echo $result
fi
From 055b7de0ad110be866261abcd4ea01a8a48b3a19 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:25:33 +0800
Subject: [PATCH 38/86] Script Refactoring
---
scripts-new/lib/util.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/lib/util.sh b/scripts-new/lib/util.sh
index b2edb758b..543d2c684 100644
--- a/scripts-new/lib/util.sh
+++ b/scripts-new/lib/util.sh
@@ -387,7 +387,7 @@ openim::util::check_process_names() {
if [ "$running_count" -eq "$expected_count" ]; then
return 0
else
- echo "$process_path Expected $expected_count processes, but $running_count are present"
+ echo "$process_path Expected $expected_count processes, but $running_count running"
return 1
fi
}
From 017c9fc55b520d2ec15046aa0a91164d875d2e63 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:28:01 +0800
Subject: [PATCH 39/86] Script Refactoring
---
scripts-new/start.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index aa4079b93..a4f381069 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -20,14 +20,14 @@ ret_val=$?
if [ $ret_val -ne 0 ]; then
echo "$result"
- echo "abort..."
+ echo "Some services running, abort start"
exit 1
fi
# Call the main function
result=$(start_binaries)
-
+openim::log::status $result
$OPENIM_SCRIPTS/check.sh
From c95d3ddbc19147979c06a207fa5777c24d255cc0 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:28:41 +0800
Subject: [PATCH 40/86] Script Refactoring
---
scripts-new/start.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index a4f381069..0e9dd3876 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -27,7 +27,7 @@ fi
# Call the main function
result=$(start_binaries)
-openim::log::status $result
+echo $result
$OPENIM_SCRIPTS/check.sh
From 6f0ee32d9ccd9daa48c763fbd23810019bc45c61 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:30:45 +0800
Subject: [PATCH 41/86] Script Refactoring
---
scripts-new/bricks.sh | 2 +-
scripts-new/start.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index cf1e992b4..4639128e4 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -25,7 +25,7 @@ start_binaries() {
local bin_full_path=$(get_bin_full_path "$binary")
# Loop to start binary the specified number of times
for ((i=0; i> "${LOG_FILE}" 2> >(tee -a "$ERR_LOG_FILE" | while read line; do echo -e "\e[31m${line}\e[0m"; done >&2) &
done
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index 0e9dd3876..0ded7320c 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -27,7 +27,7 @@ fi
# Call the main function
result=$(start_binaries)
-echo $result
+openim::log::print_blue $result
$OPENIM_SCRIPTS/check.sh
From 4a597f65e7a3743cfe87c893bcd990e2c2a7b5fa Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:31:29 +0800
Subject: [PATCH 42/86] Script Refactoring
---
scripts-new/start.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index 0ded7320c..0e9dd3876 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -27,7 +27,7 @@ fi
# Call the main function
result=$(start_binaries)
-openim::log::print_blue $result
+echo $result
$OPENIM_SCRIPTS/check.sh
From dfb5fd0c553c1b80fd9d267d1d9561123338fed9 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:32:23 +0800
Subject: [PATCH 43/86] Script Refactoring
---
scripts-new/start.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index 0e9dd3876..792fbeca3 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -27,7 +27,7 @@ fi
# Call the main function
result=$(start_binaries)
-echo $result
+openim::log::success $result
$OPENIM_SCRIPTS/check.sh
From f2cd1665c129e519dffb0744775e118b7fa41838 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:32:57 +0800
Subject: [PATCH 44/86] Script Refactoring
---
scripts-new/bricks.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index 4639128e4..9f730e3d9 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -25,7 +25,7 @@ start_binaries() {
local bin_full_path=$(get_bin_full_path "$binary")
# Loop to start binary the specified number of times
for ((i=0; i> "${LOG_FILE}" 2> >(tee -a "$ERR_LOG_FILE" | while read line; do echo -e "\e[31m${line}\e[0m"; done >&2) &
done
From 3bc27905fdcd9354d1b266b9d60fafcfeea3b0a5 Mon Sep 17 00:00:00 2001
From: Gordon <46924906+FGadvancer@users.noreply.github.com>
Date: Tue, 2 Apr 2024 16:33:05 +0800
Subject: [PATCH 45/86] refactor: remove info log.
---
internal/api/msg.go | 1 -
internal/msggateway/hub_server.go | 2 +-
.../msgtransfer/online_history_msg_handler.go | 10 ++------
internal/push/offlinepush/getui/push.go | 2 +-
internal/push/push_to_client.go | 2 +-
internal/rpc/group/group.go | 2 +-
internal/rpc/msg/revoke.go | 3 +--
pkg/common/db/cache/group.go | 2 +-
pkg/common/db/controller/msg.go | 24 ++++---------------
pkg/common/db/mgo/msg.go | 4 ++--
.../kubernetes/kubernetes.go | 2 +-
11 files changed, 16 insertions(+), 38 deletions(-)
diff --git a/internal/api/msg.go b/internal/api/msg.go
index 92060fd12..42d5d8775 100644
--- a/internal/api/msg.go
+++ b/internal/api/msg.go
@@ -304,7 +304,6 @@ func (m *MessageApi) BatchSendMsg(c *gin.Context) {
apiresp.GinError(c, errs.ErrArgs.WithDetail(err.Error()).Wrap())
return
}
- log.ZInfo(c, "BatchSendMsg", "req", req)
if err := authverify.CheckAdmin(c, m.manager, m.imAdmin); err != nil {
apiresp.GinError(c, errs.ErrNoPermission.WrapMsg("only app manager can send message"))
return
diff --git a/internal/msggateway/hub_server.go b/internal/msggateway/hub_server.go
index 59a323152..a502e455a 100644
--- a/internal/msggateway/hub_server.go
+++ b/internal/msggateway/hub_server.go
@@ -187,7 +187,7 @@ func (s *Server) KickUserOffline(
for _, v := range req.KickUserIDList {
clients, _, ok := s.LongConnServer.GetUserPlatformCons(v, int(req.PlatformID))
if !ok {
- log.ZInfo(ctx, "conn not exist", "userID", v, "platformID", req.PlatformID)
+ log.ZDebug(ctx, "conn not exist", "userID", v, "platformID", req.PlatformID)
continue
}
diff --git a/internal/msgtransfer/online_history_msg_handler.go b/internal/msgtransfer/online_history_msg_handler.go
index 0c4d55415..d532f6a71 100644
--- a/internal/msgtransfer/online_history_msg_handler.go
+++ b/internal/msgtransfer/online_history_msg_handler.go
@@ -315,14 +315,8 @@ func (och *OnlineHistoryRedisConsumerHandler) MessagesDistributionHandle() {
for i, header := range consumerMessages[i].Headers {
arr = append(arr, strconv.Itoa(i), string(header.Key), string(header.Value))
}
- log.ZInfo(
- ctx,
- "consumer.kafka.GetContextWithMQHeader",
- "len",
- len(consumerMessages[i].Headers),
- "header",
- strings.Join(arr, ", "),
- )
+ log.ZInfo(ctx, "consumer.kafka.GetContextWithMQHeader", "len", len(consumerMessages[i].Headers),
+ "header", strings.Join(arr, ", "))
ctxMsg.ctx = kafka.GetContextWithMQHeader(consumerMessages[i].Headers)
ctxMsg.message = msgFromMQ
log.ZDebug(
diff --git a/internal/push/offlinepush/getui/push.go b/internal/push/offlinepush/getui/push.go
index 644a6c449..c3bd7e5d8 100644
--- a/internal/push/offlinepush/getui/push.go
+++ b/internal/push/offlinepush/getui/push.go
@@ -71,7 +71,7 @@ func (g *Client) Push(ctx context.Context, userIDs []string, title, content stri
token, err := g.cache.GetGetuiToken(ctx)
if err != nil {
if errs.Unwrap(err) == redis.Nil {
- log.ZInfo(ctx, "getui token not exist in redis")
+ log.ZDebug(ctx, "getui token not exist in redis")
token, err = g.getTokenAndSave2Redis(ctx)
if err != nil {
return err
diff --git a/internal/push/push_to_client.go b/internal/push/push_to_client.go
index cf69fb13d..391c20559 100644
--- a/internal/push/push_to_client.go
+++ b/internal/push/push_to_client.go
@@ -237,7 +237,7 @@ func (p *Pusher) Push2SuperGroup(ctx context.Context, groupID string, msg *sdkws
if p.UnmarshalNotificationElem(msg.Content, &tips) != nil {
return err
}
- log.ZInfo(ctx, "GroupDismissedNotificationInfo****", "groupID", groupID, "num", len(pushToUserIDs), "list", pushToUserIDs)
+ log.ZDebug(ctx, "GroupDismissedNotificationInfo****", "groupID", groupID, "num", len(pushToUserIDs), "list", pushToUserIDs)
if len(p.config.Manager.UserID) > 0 {
ctx = mcontext.WithOpUserIDContext(ctx, p.config.Manager.UserID[0])
}
diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go
index 143526ffa..880b3b38d 100644
--- a/internal/rpc/group/group.go
+++ b/internal/rpc/group/group.go
@@ -883,7 +883,7 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbgroup.JoinGroupReq)
} else if !s.IsNotFound(err) && errs.Unwrap(err) != errs.ErrRecordNotFound {
return nil, err
}
- log.ZInfo(ctx, "JoinGroup.groupInfo", "group", group, "eq", group.NeedVerification == constant.Directly)
+ log.ZDebug(ctx, "JoinGroup.groupInfo", "group", group, "eq", group.NeedVerification == constant.Directly)
if group.NeedVerification == constant.Directly {
groupMember := &relationtb.GroupMemberModel{
GroupID: group.GroupID,
diff --git a/internal/rpc/msg/revoke.go b/internal/rpc/msg/revoke.go
index d190ddcb3..59f3b84c3 100644
--- a/internal/rpc/msg/revoke.go
+++ b/internal/rpc/msg/revoke.go
@@ -32,7 +32,6 @@ import (
)
func (m *msgServer) RevokeMsg(ctx context.Context, req *msg.RevokeMsgReq) (*msg.RevokeMsgResp, error) {
- defer log.ZDebug(ctx, "RevokeMsg return line")
if req.UserID == "" {
return nil, errs.ErrArgs.WrapMsg("user_id is empty")
}
@@ -61,7 +60,7 @@ func (m *msgServer) RevokeMsg(ctx context.Context, req *msg.RevokeMsgReq) (*msg.
}
data, _ := json.Marshal(msgs[0])
- log.ZInfo(ctx, "GetMsgBySeqs", "conversationID", req.ConversationID, "seq", req.Seq, "msg", string(data))
+ log.ZDebug(ctx, "GetMsgBySeqs", "conversationID", req.ConversationID, "seq", req.Seq, "msg", string(data))
var role int32
if !authverify.IsAppManagerUid(ctx, &m.config.Manager, &m.config.IMAdmin) {
switch msgs[0].SessionType {
diff --git a/pkg/common/db/cache/group.go b/pkg/common/db/cache/group.go
index ed303e135..8b939e7d7 100644
--- a/pkg/common/db/cache/group.go
+++ b/pkg/common/db/cache/group.go
@@ -244,7 +244,7 @@ func (g *GroupCacheRedis) GetGroupMemberHashMap(ctx context.Context, groupIDs []
if err != nil {
return nil, err
}
- log.ZInfo(ctx, "GetGroupMemberHashMap", "groupID", groupID, "hash", hash)
+ log.ZDebug(ctx, "GetGroupMemberHashMap", "groupID", groupID, "hash", hash)
num, err := g.GetGroupMemberNum(ctx, groupID)
if err != nil {
return nil, err
diff --git a/pkg/common/db/controller/msg.go b/pkg/common/db/controller/msg.go
index 7a6a2fc02..e680cd491 100644
--- a/pkg/common/db/controller/msg.go
+++ b/pkg/common/db/controller/msg.go
@@ -533,7 +533,7 @@ func (db *commonMsgDatabase) GetMsgBySeqsRange(ctx context.Context, userID strin
}
// "minSeq" represents the startSeq value that the user can retrieve.
if minSeq > end {
- log.ZInfo(ctx, "minSeq > end", "minSeq", minSeq, "end", end)
+ log.ZWarn(ctx, "minSeq > end", errs.New("minSeq>end"), "minSeq", minSeq, "end", end)
return 0, 0, nil, nil
}
maxSeq, err := db.cache.GetMaxSeq(ctx, conversationID)
@@ -681,22 +681,8 @@ func (db *commonMsgDatabase) GetMsgBySeqs(ctx context.Context, userID string, co
log.ZError(ctx, "get message from redis exception", err, "failedSeqs", failedSeqs, "conversationID", conversationID)
}
}
- log.ZInfo(
- ctx,
- "db.cache.GetMessagesBySeq",
- "userID",
- userID,
- "conversationID",
- conversationID,
- "seqs",
- seqs,
- "successMsgs",
- len(successMsgs),
- "failedSeqs",
- failedSeqs,
- "conversationID",
- conversationID,
- )
+ log.ZDebug(ctx, "db.cache.GetMessagesBySeq", "userID", userID, "conversationID", conversationID, "seqs",
+ seqs, "len(successMsgs)", len(successMsgs), "failedSeqs", failedSeqs)
if len(failedSeqs) > 0 {
mongoMsgs, err := db.getMsgBySeqs(ctx, userID, conversationID, failedSeqs)
@@ -717,7 +703,7 @@ func (db *commonMsgDatabase) DeleteConversationMsgsAndSetMinSeq(ctx context.Cont
if err != nil {
return err
}
- log.ZInfo(ctx, "DeleteConversationMsgsAndSetMinSeq", "conversationID", conversationID, "minSeq", minSeq)
+ log.ZDebug(ctx, "DeleteConversationMsgsAndSetMinSeq", "conversationID", conversationID, "minSeq", minSeq)
if minSeq == 0 {
return nil
}
@@ -896,7 +882,7 @@ func (db *commonMsgDatabase) CleanUpUserConversationsMsgs(ctx context.Context, u
maxSeq, err := db.cache.GetMaxSeq(ctx, conversationID)
if err != nil {
if err == redis.Nil {
- log.ZInfo(ctx, "max seq is nil", "conversationID", conversationID)
+ log.ZDebug(ctx, "max seq is nil", "conversationID", conversationID)
} else {
log.ZError(ctx, "get max seq failed", err, "conversationID", conversationID)
}
diff --git a/pkg/common/db/mgo/msg.go b/pkg/common/db/mgo/msg.go
index 697d3a065..40ee5e423 100644
--- a/pkg/common/db/mgo/msg.go
+++ b/pkg/common/db/mgo/msg.go
@@ -859,7 +859,7 @@ func (m *MsgMgo) ConvertMsgsDocLen(ctx context.Context, conversationIDs []string
if len(msgDocs) < 1 {
continue
}
- log.ZInfo(ctx, "msg doc convert", "conversationID", conversationID, "len(msgDocs)", len(msgDocs))
+ log.ZDebug(ctx, "msg doc convert", "conversationID", conversationID, "len(msgDocs)", len(msgDocs))
if len(msgDocs[0].Msg) == int(m.model.GetSingleGocMsgNum5000()) {
if err := mongoutil.DeleteMany(ctx, m.coll, bson.M{"doc_id": regex}); err != nil {
log.ZError(ctx, "convertAll delete many failed", err, "conversationID", conversationID)
@@ -891,7 +891,7 @@ func (m *MsgMgo) ConvertMsgsDocLen(ctx context.Context, conversationIDs []string
if err = mongoutil.InsertMany(ctx, m.coll, newMsgDocs); err != nil {
log.ZError(ctx, "convertAll insert many failed", err, "conversationID", conversationID, "len(newMsgDocs)", len(newMsgDocs))
} else {
- log.ZInfo(ctx, "msg doc convert", "conversationID", conversationID, "len(newMsgDocs)", len(newMsgDocs))
+ log.ZDebug(ctx, "msg doc convert", "conversationID", conversationID, "len(newMsgDocs)", len(newMsgDocs))
}
}
}
diff --git a/pkg/common/discoveryregister/kubernetes/kubernetes.go b/pkg/common/discoveryregister/kubernetes/kubernetes.go
index 302393ed0..90fc314db 100644
--- a/pkg/common/discoveryregister/kubernetes/kubernetes.go
+++ b/pkg/common/discoveryregister/kubernetes/kubernetes.go
@@ -124,7 +124,7 @@ func getMsgGatewayHost(ctx context.Context, gatewayName string) []string {
host := fmt.Sprintf("%s-openim-msggateway-%d.%s-openim-msggateway-headless.%s.svc.cluster.local:%d", instance, i, instance, ns, port)
ret = append(ret, host)
}
- log.ZInfo(ctx, "getMsgGatewayHost", "instance", instance, "selfPodName", selfPodName, "replicas", replicas, "ns", ns, "ret", ret)
+ log.ZDebug(ctx, "getMsgGatewayHost", "instance", instance, "selfPodName", selfPodName, "replicas", replicas, "ns", ns, "ret", ret)
return ret
}
From e84ec680b66d2638dee69c1b6955cf2f73c80538 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:35:04 +0800
Subject: [PATCH 46/86] Script Refactoring
---
scripts-new/start.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index 792fbeca3..756e2e0c0 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -27,7 +27,7 @@ fi
# Call the main function
result=$(start_binaries)
-openim::log::success $result
+openim::log::success "$result"
$OPENIM_SCRIPTS/check.sh
From f959decfedd1d8a93a2a8091c0144ca616b73a40 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:36:28 +0800
Subject: [PATCH 47/86] Script Refactoring
---
scripts-new/start.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index 756e2e0c0..cff1ccf09 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -27,7 +27,7 @@ fi
# Call the main function
result=$(start_binaries)
-openim::log::success "$result"
+echo "$result"
$OPENIM_SCRIPTS/check.sh
From 935996670e12a5411f97eca82ef07a1d5e07de12 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:39:04 +0800
Subject: [PATCH 48/86] Script Refactoring
---
scripts-new/bricks.sh | 1 -
scripts-new/start.sh | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index 9f730e3d9..b8f352d3f 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -18,7 +18,6 @@ ERR_LOG_FILE=err.log.file
#启动所有的二进制
start_binaries() {
- echo $
# Iterate over binaries defined in binary_path.sh
for binary in "${!binaries[@]}"; do
local count=${binaries[$binary]}
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index cff1ccf09..7f85e1ed7 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -27,7 +27,7 @@ fi
# Call the main function
result=$(start_binaries)
-echo "$result"
+openim::log::status "$result"
$OPENIM_SCRIPTS/check.sh
From a7658e638991fe870979d5659b50c6e4f7f0693b Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:42:53 +0800
Subject: [PATCH 49/86] Script Refactoring
---
scripts-new/lib/logging.sh | 3 ++-
scripts-new/start.sh | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/scripts-new/lib/logging.sh b/scripts-new/lib/logging.sh
index 0d15463eb..c0ee9cef1 100644
--- a/scripts-new/lib/logging.sh
+++ b/scripts-new/lib/logging.sh
@@ -255,7 +255,8 @@ function openim::log::test_log() {
# openim::log::test_log
function openim::log::print_blue() {
- echo -e "\033[0;36m$1\033[0m"
+ local current_time=$(date "+%Y-%m-%d %H:%M:%S %Z")
+ echo -e "\033[0;36m[$current_time] $1\033[0m"
}
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index 7f85e1ed7..f8a24ad01 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -27,7 +27,7 @@ fi
# Call the main function
result=$(start_binaries)
-openim::log::status "$result"
+openim::log::print_blue "$result"
$OPENIM_SCRIPTS/check.sh
From 2fe30518e0c9db93c4863975e006d82d870fbd2f Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:44:48 +0800
Subject: [PATCH 50/86] Script Refactoring
---
scripts-new/lib/logging.sh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/scripts-new/lib/logging.sh b/scripts-new/lib/logging.sh
index c0ee9cef1..f6f7b7e34 100644
--- a/scripts-new/lib/logging.sh
+++ b/scripts-new/lib/logging.sh
@@ -256,10 +256,12 @@ function openim::log::test_log() {
function openim::log::print_blue() {
local current_time=$(date "+%Y-%m-%d %H:%M:%S %Z")
- echo -e "\033[0;36m[$current_time] $1\033[0m"
+ echo -e "[$current_time]"
+ echo -e "\033[0;34m$1\033[0m"
}
+
openim::log::colorless() {
local V="${V:-0}"
if [[ ${OPENIM_VERBOSE} < ${V} ]]; then
From 0fcb5405dea722884d2457959a866a9b53b06225 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:46:30 +0800
Subject: [PATCH 51/86] Script Refactoring
---
scripts-new/check.sh | 4 ++--
scripts-new/lib/logging.sh | 7 +++++++
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/scripts-new/check.sh b/scripts-new/check.sh
index 128c5fe83..f28efc405 100644
--- a/scripts-new/check.sh
+++ b/scripts-new/check.sh
@@ -34,8 +34,8 @@ ret_val=$?
if [ $ret_val -eq 0 ]; then
echo "All services are running normally."
else
- openim::log::error "Some services are not running as expected. Details are as follows:"
- openim::log::error "$result"
+ openim::log::print_red "Some services are not running as expected. Details are as follows:"
+ openim::log::print_red "$result"
exit 1
fi
diff --git a/scripts-new/lib/logging.sh b/scripts-new/lib/logging.sh
index f6f7b7e34..642ed1395 100644
--- a/scripts-new/lib/logging.sh
+++ b/scripts-new/lib/logging.sh
@@ -260,6 +260,13 @@ function openim::log::print_blue() {
echo -e "\033[0;34m$1\033[0m"
}
+function openim::log::print_red() {
+ local current_time=$(date "+%Y-%m-%d %H:%M:%S %Z")
+ echo -e "[$current_time]"
+ echo -e "\033[0;31m$1\033[0m"
+}
+
+
openim::log::colorless() {
From e2a9fb104b71c7bbee04da5613af7b9895061414 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:49:04 +0800
Subject: [PATCH 52/86] Script Refactoring
---
scripts-new/lib/logging.sh | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/scripts-new/lib/logging.sh b/scripts-new/lib/logging.sh
index 642ed1395..67864f706 100644
--- a/scripts-new/lib/logging.sh
+++ b/scripts-new/lib/logging.sh
@@ -262,8 +262,17 @@ function openim::log::print_blue() {
function openim::log::print_red() {
local current_time=$(date "+%Y-%m-%d %H:%M:%S %Z")
- echo -e "[$current_time]"
- echo -e "\033[0;31m$1\033[0m"
+ local msg_length=${#1}
+ local time_length=${#current_time}
+ local term_width=$(tput cols)
+
+ local total_length=$((time_length + msg_length + 2))
+
+ if [ $total_length -gt $term_width ]; then
+ echo -e "[$current_time]\n\033[0;31m$1\033[0m"
+ else
+ echo -e "[$current_time] \033[0;31m$1\033[0m"
+ fi
}
From f3f2c6a94866580f6799678f12d6a4ad090e4c4b Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:50:05 +0800
Subject: [PATCH 53/86] Script Refactoring
---
scripts-new/lib/logging.sh | 13 ++-----------
1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/scripts-new/lib/logging.sh b/scripts-new/lib/logging.sh
index 67864f706..642ed1395 100644
--- a/scripts-new/lib/logging.sh
+++ b/scripts-new/lib/logging.sh
@@ -262,17 +262,8 @@ function openim::log::print_blue() {
function openim::log::print_red() {
local current_time=$(date "+%Y-%m-%d %H:%M:%S %Z")
- local msg_length=${#1}
- local time_length=${#current_time}
- local term_width=$(tput cols)
-
- local total_length=$((time_length + msg_length + 2))
-
- if [ $total_length -gt $term_width ]; then
- echo -e "[$current_time]\n\033[0;31m$1\033[0m"
- else
- echo -e "[$current_time] \033[0;31m$1\033[0m"
- fi
+ echo -e "[$current_time]"
+ echo -e "\033[0;31m$1\033[0m"
}
From 6639601155472b0456b1827df7f5c8d2da4327ac Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:54:02 +0800
Subject: [PATCH 54/86] Script Refactoring
---
scripts-new/lib/logging.sh | 15 ++++++++++++---
scripts-new/start.sh | 2 +-
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/scripts-new/lib/logging.sh b/scripts-new/lib/logging.sh
index 642ed1395..19c78c768 100644
--- a/scripts-new/lib/logging.sh
+++ b/scripts-new/lib/logging.sh
@@ -254,21 +254,30 @@ function openim::log::test_log() {
# openim::log::test_log
-function openim::log::print_blue() {
+
+function openim::log::print_blue_two_line() {
local current_time=$(date "+%Y-%m-%d %H:%M:%S %Z")
echo -e "[$current_time]"
echo -e "\033[0;34m$1\033[0m"
}
+function openim::log::print_blue() {
+ local current_time=$(date "+%Y-%m-%d %H:%M:%S %Z")
+ echo -e "[$current_time] \033[0;34m$1\033[0m"
+}
+
+
+
+
function openim::log::print_red() {
local current_time=$(date "+%Y-%m-%d %H:%M:%S %Z")
- echo -e "[$current_time]"
- echo -e "\033[0;31m$1\033[0m"
+ echo -e "[$current_time] \033[0;31m$1\033[0m"
}
+
openim::log::colorless() {
local V="${V:-0}"
if [[ ${OPENIM_VERBOSE} < ${V} ]]; then
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index f8a24ad01..8ba1be2bf 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -27,7 +27,7 @@ fi
# Call the main function
result=$(start_binaries)
-openim::log::print_blue "$result"
+openim::log::print_blue_two_line "$result"
$OPENIM_SCRIPTS/check.sh
From 296623b3d5cfa3b624ad0af99e89afda53ddf130 Mon Sep 17 00:00:00 2001
From: Gordon <46924906+FGadvancer@users.noreply.github.com>
Date: Tue, 2 Apr 2024 16:57:09 +0800
Subject: [PATCH 55/86] refactor: config change.
---
config/openim-api.yml | 2 +-
config/openim-msggateway.yml | 14 ++------------
config/openim-msgtransfer.yml | 13 +------------
config/openim-push.yml | 14 ++------------
config/openim-rpc-auth.yml | 13 +------------
config/openim-rpc-conversation.yml | 14 ++------------
config/openim-rpc-friend.yml | 13 +------------
config/openim-rpc-group.yml | 14 ++------------
config/openim-rpc-msg.yml | 14 ++------------
config/openim-rpc-third.yml | 14 ++------------
config/openim-rpc-user.yml | 14 ++------------
11 files changed, 18 insertions(+), 121 deletions(-)
diff --git a/config/openim-api.yml b/config/openim-api.yml
index 85a693b2f..bba68f95d 100644
--- a/config/openim-api.yml
+++ b/config/openim-api.yml
@@ -4,4 +4,4 @@ api:
prometheus:
enable: true
grafanaUrl: http://127.0.0.1:13000/
- apiPrometheusPort: [20100]
\ No newline at end of file
+ prometheusPort: [20100]
\ No newline at end of file
diff --git a/config/openim-msggateway.yml b/config/openim-msggateway.yml
index 70a6a275e..370a96ffb 100644
--- a/config/openim-msggateway.yml
+++ b/config/openim-msggateway.yml
@@ -7,16 +7,6 @@ longConnSvr:
prometheus:
enable: true
grafanaUrl: http://127.0.0.1:13000/
- apiPrometheusPort: [20100]
- userPrometheusPort: [ 20110 ]
- friendPrometheusPort: [ 20120 ]
- messagePrometheusPort: [ 20130 ]
- messageGatewayPrometheusPort: [ 20140 ]
- groupPrometheusPort: [ 20150 ]
- authPrometheusPort: [ 20160 ]
- pushPrometheusPort: [ 20170 ]
- conversationPrometheusPort: [ 20230 ]
- rtcPrometheusPort: [ 21300 ]
- thirdPrometheusPort: [ 21301 ]
- messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # List of ports
+ prometheusPort: [ 20140 ]
+
diff --git a/config/openim-msgtransfer.yml b/config/openim-msgtransfer.yml
index edfc0e414..3df57d713 100644
--- a/config/openim-msgtransfer.yml
+++ b/config/openim-msgtransfer.yml
@@ -2,15 +2,4 @@
prometheus:
enable: true
grafanaUrl: http://127.0.0.1:13000/
- apiPrometheusPort: [20100]
- userPrometheusPort: [ 20110 ]
- friendPrometheusPort: [ 20120 ]
- messagePrometheusPort: [ 20130 ]
- messageGatewayPrometheusPort: [ 20140 ]
- groupPrometheusPort: [ 20150 ]
- authPrometheusPort: [ 20160 ]
- pushPrometheusPort: [ 20170 ]
- conversationPrometheusPort: [ 20230 ]
- rtcPrometheusPort: [ 21300 ]
- thirdPrometheusPort: [ 21301 ]
- messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # List of ports
+ prometheusPort: [ 21400, 21401, 21402, 21403 ] # List of ports
diff --git a/config/openim-push.yml b/config/openim-push.yml
index 089df88be..69ab6eef4 100644
--- a/config/openim-push.yml
+++ b/config/openim-push.yml
@@ -17,15 +17,5 @@ push:
prometheus:
enable: true
grafanaUrl: http://127.0.0.1:13000/
- apiPrometheusPort: [20100]
- userPrometheusPort: [ 20110 ]
- friendPrometheusPort: [ 20120 ]
- messagePrometheusPort: [ 20130 ]
- messageGatewayPrometheusPort: [ 20140 ]
- groupPrometheusPort: [ 20150 ]
- authPrometheusPort: [ 20160 ]
- pushPrometheusPort: [ 20170 ]
- conversationPrometheusPort: [ 20230 ]
- rtcPrometheusPort: [ 21300 ]
- thirdPrometheusPort: [ 21301 ]
- messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # List of ports
+ prometheusPort: [ 20170 ]
+
diff --git a/config/openim-rpc-auth.yml b/config/openim-rpc-auth.yml
index 6ba1e91d8..91e393fb0 100644
--- a/config/openim-rpc-auth.yml
+++ b/config/openim-rpc-auth.yml
@@ -8,15 +8,4 @@ rpcRegisterName:
prometheus:
enable: true
grafanaUrl: http://127.0.0.1:13000/
- apiPrometheusPort: [20100]
- userPrometheusPort: [ 20110 ]
- friendPrometheusPort: [ 20120 ]
- messagePrometheusPort: [ 20130 ]
- messageGatewayPrometheusPort: [ 20140 ]
- groupPrometheusPort: [ 20150 ]
- authPrometheusPort: [ 20160 ]
- pushPrometheusPort: [ 20170 ]
- conversationPrometheusPort: [ 20230 ]
- rtcPrometheusPort: [ 21300 ]
- thirdPrometheusPort: [ 21301 ]
- messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # List of ports
+ prometheusPort: [20160]
\ No newline at end of file
diff --git a/config/openim-rpc-conversation.yml b/config/openim-rpc-conversation.yml
index 40e988bd0..7c5a9abd6 100644
--- a/config/openim-rpc-conversation.yml
+++ b/config/openim-rpc-conversation.yml
@@ -8,15 +8,5 @@ rpcRegisterName:
prometheus:
enable: true
grafanaUrl: http://127.0.0.1:13000/
- apiPrometheusPort: [20100]
- userPrometheusPort: [ 20110 ]
- friendPrometheusPort: [ 20120 ]
- messagePrometheusPort: [ 20130 ]
- messageGatewayPrometheusPort: [ 20140 ]
- groupPrometheusPort: [ 20150 ]
- authPrometheusPort: [ 20160 ]
- pushPrometheusPort: [ 20170 ]
- conversationPrometheusPort: [ 20230 ]
- rtcPrometheusPort: [ 21300 ]
- thirdPrometheusPort: [ 21301 ]
- messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # List of ports
+ prometheusPort: [ 20230 ]
+
diff --git a/config/openim-rpc-friend.yml b/config/openim-rpc-friend.yml
index 12de99fee..abb3824ac 100644
--- a/config/openim-rpc-friend.yml
+++ b/config/openim-rpc-friend.yml
@@ -8,15 +8,4 @@ rpcRegisterName:
prometheus:
enable: true
grafanaUrl: http://127.0.0.1:13000/
- apiPrometheusPort: [20100]
- userPrometheusPort: [ 20110 ]
- friendPrometheusPort: [ 20120 ]
- messagePrometheusPort: [ 20130 ]
- messageGatewayPrometheusPort: [ 20140 ]
- groupPrometheusPort: [ 20150 ]
- authPrometheusPort: [ 20160 ]
- pushPrometheusPort: [ 20170 ]
- conversationPrometheusPort: [ 20230 ]
- rtcPrometheusPort: [ 21300 ]
- thirdPrometheusPort: [ 21301 ]
- messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # List of ports
+ prometheusPort: [ 20120 ]
diff --git a/config/openim-rpc-group.yml b/config/openim-rpc-group.yml
index 0e4325771..841b3242b 100644
--- a/config/openim-rpc-group.yml
+++ b/config/openim-rpc-group.yml
@@ -8,15 +8,5 @@ rpcRegisterName:
prometheus:
enable: true
grafanaUrl: http://127.0.0.1:13000/
- apiPrometheusPort: [20100]
- userPrometheusPort: [ 20110 ]
- friendPrometheusPort: [ 20120 ]
- messagePrometheusPort: [ 20130 ]
- messageGatewayPrometheusPort: [ 20140 ]
- groupPrometheusPort: [ 20150 ]
- authPrometheusPort: [ 20160 ]
- pushPrometheusPort: [ 20170 ]
- conversationPrometheusPort: [ 20230 ]
- rtcPrometheusPort: [ 21300 ]
- thirdPrometheusPort: [ 21301 ]
- messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # List of ports
+ prometheusPort: [ 20150 ]
+
diff --git a/config/openim-rpc-msg.yml b/config/openim-rpc-msg.yml
index 91a3aa543..761e71162 100644
--- a/config/openim-rpc-msg.yml
+++ b/config/openim-rpc-msg.yml
@@ -8,15 +8,5 @@ rpcRegisterName:
prometheus:
enable: true
grafanaUrl: http://127.0.0.1:13000/
- apiPrometheusPort: [20100]
- userPrometheusPort: [ 20110 ]
- friendPrometheusPort: [ 20120 ]
- messagePrometheusPort: [ 20130 ]
- messageGatewayPrometheusPort: [ 20140 ]
- groupPrometheusPort: [ 20150 ]
- authPrometheusPort: [ 20160 ]
- pushPrometheusPort: [ 20170 ]
- conversationPrometheusPort: [ 20230 ]
- rtcPrometheusPort: [ 21300 ]
- thirdPrometheusPort: [ 21301 ]
- messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # List of ports
+ prometheusPort: [ 20130 ]
+
diff --git a/config/openim-rpc-third.yml b/config/openim-rpc-third.yml
index d73fed587..f428eb1a2 100644
--- a/config/openim-rpc-third.yml
+++ b/config/openim-rpc-third.yml
@@ -9,15 +9,5 @@ rpcRegisterName:
prometheus:
enable: true
grafanaUrl: http://127.0.0.1:13000/
- apiPrometheusPort: [20100]
- userPrometheusPort: [ 20110 ]
- friendPrometheusPort: [ 20120 ]
- messagePrometheusPort: [ 20130 ]
- messageGatewayPrometheusPort: [ 20140 ]
- groupPrometheusPort: [ 20150 ]
- authPrometheusPort: [ 20160 ]
- pushPrometheusPort: [ 20170 ]
- conversationPrometheusPort: [ 20230 ]
- rtcPrometheusPort: [ 21300 ]
- thirdPrometheusPort: [ 21301 ]
- messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # List of ports
+ prometheusPort: [ 21301 ]
+
diff --git a/config/openim-rpc-user.yml b/config/openim-rpc-user.yml
index 1934e759f..3e66088f9 100644
--- a/config/openim-rpc-user.yml
+++ b/config/openim-rpc-user.yml
@@ -9,15 +9,5 @@ rpcRegisterName:
prometheus:
enable: true
grafanaUrl: http://127.0.0.1:13000/
- apiPrometheusPort: [20100]
- userPrometheusPort: [ 20110 ]
- friendPrometheusPort: [ 20120 ]
- messagePrometheusPort: [ 20130 ]
- messageGatewayPrometheusPort: [ 20140 ]
- groupPrometheusPort: [ 20150 ]
- authPrometheusPort: [ 20160 ]
- pushPrometheusPort: [ 20170 ]
- conversationPrometheusPort: [ 20230 ]
- rtcPrometheusPort: [ 21300 ]
- thirdPrometheusPort: [ 21301 ]
- messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # List of ports
+ prometheusPort: [ 20110 ]
+
From fd237285e45dfd669d2b87a15eeefb7fa6535513 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:57:18 +0800
Subject: [PATCH 56/86] Script Refactoring
---
scripts-new/check.sh | 3 ++-
scripts-new/lib/logging.sh | 5 +++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/scripts-new/check.sh b/scripts-new/check.sh
index f28efc405..fdaa26de8 100644
--- a/scripts-new/check.sh
+++ b/scripts-new/check.sh
@@ -40,6 +40,7 @@ else
fi
-print_listened_ports_by_binaries
+result=$(print_listened_ports_by_binaries)
+print_green_two_line "$result"
diff --git a/scripts-new/lib/logging.sh b/scripts-new/lib/logging.sh
index 19c78c768..51e2e20b1 100644
--- a/scripts-new/lib/logging.sh
+++ b/scripts-new/lib/logging.sh
@@ -267,6 +267,11 @@ function openim::log::print_blue() {
}
+function openim::log::print_green_two_line() {
+ local current_time=$(date "+%Y-%m-%d %H:%M:%S %Z")
+ echo -e "[$current_time]"
+ echo -e "\033[0;32m$1\033[0m"
+}
function openim::log::print_red() {
From c9268170bc70ad545931e6599ca30032b20512d3 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 16:58:06 +0800
Subject: [PATCH 57/86] Script Refactoring
---
scripts-new/check.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/check.sh b/scripts-new/check.sh
index fdaa26de8..383cd8c22 100644
--- a/scripts-new/check.sh
+++ b/scripts-new/check.sh
@@ -41,6 +41,6 @@ fi
result=$(print_listened_ports_by_binaries)
-print_green_two_line "$result"
+openim::log::print_green_two_line "$result"
From 4436d388b39e036ba46d4a1cf727a0b58d730d62 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 17:01:33 +0800
Subject: [PATCH 58/86] Script Refactoring
---
scripts-new/check.sh | 2 +-
scripts-new/lib/logging.sh | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/scripts-new/check.sh b/scripts-new/check.sh
index 383cd8c22..5493fb914 100644
--- a/scripts-new/check.sh
+++ b/scripts-new/check.sh
@@ -32,7 +32,7 @@ source "$OPENIM_SCRIPTS/bricks.sh"
result=$(check_binaries_running)
ret_val=$?
if [ $ret_val -eq 0 ]; then
- echo "All services are running normally."
+ openim::log::print_green "All services are running normally."
else
openim::log::print_red "Some services are not running as expected. Details are as follows:"
openim::log::print_red "$result"
diff --git a/scripts-new/lib/logging.sh b/scripts-new/lib/logging.sh
index 51e2e20b1..ffde53d85 100644
--- a/scripts-new/lib/logging.sh
+++ b/scripts-new/lib/logging.sh
@@ -273,6 +273,11 @@ function openim::log::print_green_two_line() {
echo -e "\033[0;32m$1\033[0m"
}
+function openim::log::print_green() {
+ local current_time=$(date "+%Y-%m-%d %H:%M:%S %Z")
+ echo -e "[$current_time] \033[0;32m$1\033[0m"
+}
+
function openim::log::print_red() {
local current_time=$(date "+%Y-%m-%d %H:%M:%S %Z")
From aa151878f9436295c6a4bdf3acc6babd60d94b1d Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 17:04:08 +0800
Subject: [PATCH 59/86] Script Refactoring
---
scripts-new/lib/util.sh | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/scripts-new/lib/util.sh b/scripts-new/lib/util.sh
index 543d2c684..e725673d0 100644
--- a/scripts-new/lib/util.sh
+++ b/scripts-new/lib/util.sh
@@ -2455,8 +2455,6 @@ function openim::util::print_binary_ports() {
# Check if the binary is running
if pgrep -f "$binary_path" > /dev/null; then
- # echo "$binary_name is running." "arg $1"
-
# Find the PID(s) of the running binary
pids=$(pgrep -f "$binary_path")
@@ -2468,11 +2466,9 @@ function openim::util::print_binary_ports() {
# Check for listening ports using lsof
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
# Linux
- # Append found ports to the ports variable, followed by a space
ports+=$(lsof -i -n | grep LISTEN | grep "$pid" | awk '{print $9}' | cut -d':' -f2 | uniq | tr '\n' ' ')
elif [[ "$OSTYPE" == "darwin"* ]]; then
# macOS
- # Append found ports to the ports variable, followed by a space
ports+=$(lsof -i -n | grep LISTEN | grep "$pid" | awk '{print $9}' | awk -F'[:\.]+' '{print $(NF-1)}' | uniq | tr '\n' ' ')
fi
done
@@ -2492,6 +2488,7 @@ function openim::util::print_binary_ports() {
+
function openim::util::kill_exist_binary() {
local binary_path="$1"
local pids=$(pgrep -f "$binary_path")
From 1a6e850671a45e00c1897832c9c3d32b3c1e9d97 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 17:07:21 +0800
Subject: [PATCH 60/86] Script Refactoring
---
scripts-new/lib/util.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts-new/lib/util.sh b/scripts-new/lib/util.sh
index e725673d0..c0d28abca 100644
--- a/scripts-new/lib/util.sh
+++ b/scripts-new/lib/util.sh
@@ -2477,9 +2477,9 @@ function openim::util::print_binary_ports() {
ports=$(echo "$ports" | xargs | tr ' ' '\n' | uniq | tr '\n' ' ')
if [ -z "$ports" ]; then
- echo "$binary_path is not listening on any ports."
+ echo "$binary_path is not listening on any ports." ["$ports"]
else
- echo "$binary_path is listening on the following ports: $ports"
+ echo "$binary_path is listening on the following ports: $ports" ["$ports"]
fi
else
echo "$binary_path is not running."
From 96777bbf2fc74a83bae4df054277826bbbc7de44 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 17:09:31 +0800
Subject: [PATCH 61/86] Script Refactoring
---
scripts-new/lib/util.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/lib/util.sh b/scripts-new/lib/util.sh
index c0d28abca..9d2170a70 100644
--- a/scripts-new/lib/util.sh
+++ b/scripts-new/lib/util.sh
@@ -2476,7 +2476,7 @@ function openim::util::print_binary_ports() {
# Remove trailing spaces and duplicate ports if any
ports=$(echo "$ports" | xargs | tr ' ' '\n' | uniq | tr '\n' ' ')
- if [ -z "$ports" ]; then
+ if [[ ! -n "$ports" ]]; then
echo "$binary_path is not listening on any ports." ["$ports"]
else
echo "$binary_path is listening on the following ports: $ports" ["$ports"]
From 38c1fe40fe08ba186e846efe2bb5829b9638b9b1 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 17:12:25 +0800
Subject: [PATCH 62/86] Script Refactoring
---
scripts-new/lib/util.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/lib/util.sh b/scripts-new/lib/util.sh
index 9d2170a70..48ca21875 100644
--- a/scripts-new/lib/util.sh
+++ b/scripts-new/lib/util.sh
@@ -2476,7 +2476,7 @@ function openim::util::print_binary_ports() {
# Remove trailing spaces and duplicate ports if any
ports=$(echo "$ports" | xargs | tr ' ' '\n' | uniq | tr '\n' ' ')
- if [[ ! -n "$ports" ]]; then
+ if [[ ${#ports} -eq 1 ]]; then
echo "$binary_path is not listening on any ports." ["$ports"]
else
echo "$binary_path is listening on the following ports: $ports" ["$ports"]
From 1d245a1d266242eefbb50b0149a5c85489badc95 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 17:13:30 +0800
Subject: [PATCH 63/86] Script Refactoring
---
scripts-new/lib/util.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts-new/lib/util.sh b/scripts-new/lib/util.sh
index 48ca21875..d6fb88358 100644
--- a/scripts-new/lib/util.sh
+++ b/scripts-new/lib/util.sh
@@ -2477,9 +2477,9 @@ function openim::util::print_binary_ports() {
ports=$(echo "$ports" | xargs | tr ' ' '\n' | uniq | tr '\n' ' ')
if [[ ${#ports} -eq 1 ]]; then
- echo "$binary_path is not listening on any ports." ["$ports"]
+ echo "$binary_path is not listening on any ports."
else
- echo "$binary_path is listening on the following ports: $ports" ["$ports"]
+ echo "$binary_path is listening on the following ports: $ports"
fi
else
echo "$binary_path is not running."
From d417645d4892c4acb83c7349f91ce1e9337da2e5 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 17:20:34 +0800
Subject: [PATCH 64/86] Script Refactoring
---
scripts-new/bricks.sh | 2 --
scripts-new/lib/logging.sh | 5 +++++
scripts-new/stop.sh | 7 +++----
3 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index b8f352d3f..d6ea44f12 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -56,10 +56,8 @@ check_binaries_stop() {
done
if [ "$running_binaries" -ne 0 ]; then
- echo "There are $running_binaries binaries still running. Aborting..."
return 1
else
- echo "All processes have been stopped."
return 0
fi
}
diff --git a/scripts-new/lib/logging.sh b/scripts-new/lib/logging.sh
index ffde53d85..b2cf8e307 100644
--- a/scripts-new/lib/logging.sh
+++ b/scripts-new/lib/logging.sh
@@ -284,6 +284,11 @@ function openim::log::print_red() {
echo -e "[$current_time] \033[0;31m$1\033[0m"
}
+function openim::log::print_red_two_lines() {
+ local current_time=$(date "+%Y-%m-%d %H:%M:%S %Z")
+ echo -e "[$current_time]"
+ echo -e "\033[0;31m$1\033[0m"
+}
diff --git a/scripts-new/stop.sh b/scripts-new/stop.sh
index 2ea534525..9772b3cd0 100644
--- a/scripts-new/stop.sh
+++ b/scripts-new/stop.sh
@@ -14,11 +14,10 @@ kill_exist_binaries
result=$(check_binaries_stop)
ret_val=$?
-
if [ $ret_val -ne 0 ]; then
- echo "$result"
- echo "no stop..."
+ openim::log::print_red "Some services have not been stopped, details are as follows:"
+ openim::log::print_red_two_lines "$result"
exit 1
fi
-echo "all stop"
\ No newline at end of file
+openim::log::print_green "All services have been stopped"
\ No newline at end of file
From 9a835f616fb64b55aa948a76e85d4987505db237 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 17:21:46 +0800
Subject: [PATCH 65/86] Script Refactoring
---
scripts-new/check.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/check.sh b/scripts-new/check.sh
index 5493fb914..f245f339e 100644
--- a/scripts-new/check.sh
+++ b/scripts-new/check.sh
@@ -35,7 +35,7 @@ if [ $ret_val -eq 0 ]; then
openim::log::print_green "All services are running normally."
else
openim::log::print_red "Some services are not running as expected. Details are as follows:"
- openim::log::print_red "$result"
+ openim::log::print_red_two_lines "$result"
exit 1
fi
From 637716c729c118a8bd20accbda113c7b77c983d0 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 17:25:16 +0800
Subject: [PATCH 66/86] Script Refactoring
---
scripts-new/bricks.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index d6ea44f12..590610973 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -24,7 +24,7 @@ start_binaries() {
local bin_full_path=$(get_bin_full_path "$binary")
# Loop to start binary the specified number of times
for ((i=0; i> "${LOG_FILE}" 2> >(tee -a "$ERR_LOG_FILE" | while read line; do echo -e "\e[31m${line}\e[0m"; done >&2) &
done
From 614250665b8a9269e67aab61a2e21d48ac040ae1 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 17:26:09 +0800
Subject: [PATCH 67/86] Script Refactoring
---
scripts-new/bricks.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index 590610973..52a42613e 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -24,7 +24,7 @@ start_binaries() {
local bin_full_path=$(get_bin_full_path "$binary")
# Loop to start binary the specified number of times
for ((i=0; i> "${LOG_FILE}" 2> >(tee -a "$ERR_LOG_FILE" | while read line; do echo -e "\e[31m${line}\e[0m"; done >&2) &
done
From 390c5b3e8b1cef66c0d878d4af6c3e5537fc1f6f Mon Sep 17 00:00:00 2001
From: "Xinwei Xiong (cubxxw)" <3293172751nss@gmail.com>
Date: Tue, 2 Apr 2024 17:27:24 +0800
Subject: [PATCH 68/86] feat: add code lint
---
.gitignore | 1 -
.golangci.yml | 46 ++++++++++++++++++++++++++--------------------
2 files changed, 26 insertions(+), 21 deletions(-)
diff --git a/.gitignore b/.gitignore
index 5142fe551..fb8d428d2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,7 +34,6 @@ deployments/charts/generated-configs/
### OpenIM Config ###
.env
config/config.yaml
-config/openim.yaml
config/alertmanager.yml
config/prometheus.yml
config/email.tmpl
diff --git a/.golangci.yml b/.golangci.yml
index 6b8469b62..f0ca3a010 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -39,19 +39,19 @@ run:
# from this option's value (see skip-dirs-use-default).
# "/" will be replaced by current OS file path separator to properly work
# on Windows.
- skip-dirs:
- - components
- - docs
- - util
- - .*~
- - api/swagger/docs
- - server/docs
- - components/mnt/config/certs
- - logs
+ # skip-dirs:
+ # - components
+ # - docs
+ # - util
+ # - .*~
+ # - api/swagger/docs
+ # - server/docs
+ # - components/mnt/config/certs
+ # - logs
# default is true. Enables skipping of directories:
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
- skip-dirs-use-default: true
+ # skip-dirs-use-default: true
# which files to skip: they will be analyzed, but issues from them
# won't be reported. Default value is empty list, but there is
@@ -59,15 +59,15 @@ run:
# autogenerated files. If it's not please let us know.
# "/" will be replaced by current OS file path separator to properly work
# on Windows.
- skip-files:
- - ".*\\.my\\.go$"
- - _test.go
- - ".*_test.go"
- - "mocks/"
- - ".github/"
- - "logs/"
- - "_output/"
- - "components/"
+ # skip-files:
+ # - ".*\\.my\\.go$"
+ # - _test.go
+ # - ".*_test.go"
+ # - "mocks/"
+ # - ".github/"
+ # - "logs/"
+ # - "_output/"
+ # - "components/"
# by default isn't set. If set we pass it to "go list -mod={option}". From "go help modules":
# If invoked with -mod=readonly, the go command is disallowed from the implicit
@@ -87,7 +87,7 @@ run:
# output configuration options
output:
# colored-line-number|line-number|json|tab|checkstyle|code-climate, default is "colored-line-number"
- format: colored-line-number
+ # format: colored-line-number
# print lines of code with issue, default is true
print-issued-lines: true
@@ -150,6 +150,11 @@ linters-settings:
comparison: true
exhaustive:
+ # Program elements to check for exhaustiveness.
+ # Default: [ switch ]
+ check:
+ - switch
+ - map
# check switch statements in generated files also
check-generated: false
# indicates that switch statements are to be considered exhaustive if a
@@ -772,6 +777,7 @@ linters:
- dupword
- errname
- gci
+ - exhaustive
- gocritic
- goprintffuncname
- gomnd
From cee74a016a74dab5e2842be75aaea0651a3f88a6 Mon Sep 17 00:00:00 2001
From: "Xinwei Xiong (cubxxw)" <3293172751nss@gmail.com>
Date: Tue, 2 Apr 2024 17:28:13 +0800
Subject: [PATCH 69/86] feat: add code lint
---
config/openim.yaml | 260 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 260 insertions(+)
create mode 100644 config/openim.yaml
diff --git a/config/openim.yaml b/config/openim.yaml
new file mode 100644
index 000000000..4f17d24af
--- /dev/null
+++ b/config/openim.yaml
@@ -0,0 +1,260 @@
+# openim.yaml 作为存放一些通用配置或特殊配置的文件,我们将包含日志、消息缓存、多登录策略、消息验证策略等配置。
+# 这些配置是跨多个服务的共享配置,它们对于整个系统的运行至关重要。
+log:
+ storageLocation: /data/workspaces/open-im-server/_output/logs/
+ rotationTime: 24
+ remainRotationCount: 2
+ remainLogLevel: 6
+ isStdout: false
+ isJson: false
+ withStack: false
+
+msgCacheTimeout: 86400
+
+multiLoginPolicy: 1
+
+messageVerify:
+ friendVerify: false
+
+tokenPolicy:
+ expire: 90
+
+groupMessageHasReadReceiptEnable: true
+
+singleMessageHasReadReceiptEnable: true
+
+retainChatRecords: 365
+
+chatRecordsClearTime: "0 2 * * 3"
+
+msgDestructTime: "0 2 * * *"
+
+secret: openIM123
+
+iosPush:
+ pushSound: "xxx"
+ badgeCount: true
+ production: false
+
+
+###################### Third-party service configuration ######################
+# Callback configuration
+#
+# Callback URL
+# Whether to enable this callback event
+# Timeout in seconds
+# Whether to continue execution if callback fails
+callback:
+ url: "http://127.0.0.1:10008/callbackExample"
+ beforeSendSingleMsg:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ beforeUpdateUserInfoEx:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ afterUpdateUserInfoEx:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ afterSendSingleMsg:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ beforeSendGroupMsg:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ afterSendGroupMsg:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ msgModify:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ userOnline:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ userOffline:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ userKickOff:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ offlinePush:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ onlinePush:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ superGroupOnlinePush:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ beforeAddFriend:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ beforeUpdateUserInfo:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ beforeCreateGroup:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ afterCreateGroup:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ beforeMemberJoinGroup:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ beforeSetGroupMemberInfo:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ afterSetGroupMemberInfo:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ setMessageReactionExtensions:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ quitGroup:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ killGroupMember:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ dismissGroup:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ joinGroup:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ groupMsgRead:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ singleMsgRead:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ updateUserInfo:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ beforeUserRegister:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ afterUserRegister:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ transferGroupOwner:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ beforeSetFriendRemark:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ afterSetFriendRemark:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ afterGroupMsgRead:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ afterGroupMsgRevoke:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ afterJoinGroup:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ beforeInviteUserToGroup:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ joinGroupAfter:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ setGroupInfoAfter:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ setGroupInfoBefore:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ revokeMsgAfter:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ addBlackBefore:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ addFriendAfter:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ addFriendAgreeBefore:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ deleteFriendAfter:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ importFriendsBefore:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ importFriendsAfter:
+ enable: false
+ timeout: 5
+ failedContinue: true
+ removeBlackAfter:
+ enable: false
+ timeout: 5
+ failedContinue: true
+
+###################### Prometheus ######################
+# Prometheus configuration for various services
+# The number of Prometheus ports per service needs to correspond to rpcPort
+# The number of ports needs to be consistent with msg_transfer_service_num in script/path_info.sh
+prometheus:
+ enable: true
+ grafanaUrl: http://127.0.0.1:13000/
+ apiPrometheusPort: [20100]
+ userPrometheusPort: [ 20110 ]
+ friendPrometheusPort: [ 20120 ]
+ messagePrometheusPort: [ 20130 ]
+ messageGatewayPrometheusPort: [ 20140 ]
+ groupPrometheusPort: [ 20150 ]
+ authPrometheusPort: [ 20160 ]
+ pushPrometheusPort: [ 20170 ]
+ conversationPrometheusPort: [ 20230 ]
+ rtcPrometheusPort: [ 21300 ]
+ thirdPrometheusPort: [ 21301 ]
+ messageTransferPrometheusPort: [ 21400, 21401, 21402, 21403 ] # List of ports
From 309db2cb76768644e02fd7a55f60ef80a4efcd39 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 17:31:22 +0800
Subject: [PATCH 70/86] Script Refactoring
---
scripts-new/lib/logging.sh | 4 +---
scripts-new/stop.sh | 2 +-
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/scripts-new/lib/logging.sh b/scripts-new/lib/logging.sh
index b2cf8e307..7e1cf9ba2 100644
--- a/scripts-new/lib/logging.sh
+++ b/scripts-new/lib/logging.sh
@@ -284,9 +284,7 @@ function openim::log::print_red() {
echo -e "[$current_time] \033[0;31m$1\033[0m"
}
-function openim::log::print_red_two_lines() {
- local current_time=$(date "+%Y-%m-%d %H:%M:%S %Z")
- echo -e "[$current_time]"
+function openim::log::print_red_no_time_stamp() {
echo -e "\033[0;31m$1\033[0m"
}
diff --git a/scripts-new/stop.sh b/scripts-new/stop.sh
index 9772b3cd0..878583db8 100644
--- a/scripts-new/stop.sh
+++ b/scripts-new/stop.sh
@@ -16,7 +16,7 @@ result=$(check_binaries_stop)
ret_val=$?
if [ $ret_val -ne 0 ]; then
openim::log::print_red "Some services have not been stopped, details are as follows:"
- openim::log::print_red_two_lines "$result"
+ openim::log::print_red_no_time_stamp "$result"
exit 1
fi
From cb75f2e9dc9e05c2632c2ca4de08c6f076fab4b6 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 17:34:38 +0800
Subject: [PATCH 71/86] Script Refactoring
---
scripts-new/check.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/check.sh b/scripts-new/check.sh
index f245f339e..521f4d844 100644
--- a/scripts-new/check.sh
+++ b/scripts-new/check.sh
@@ -35,7 +35,7 @@ if [ $ret_val -eq 0 ]; then
openim::log::print_green "All services are running normally."
else
openim::log::print_red "Some services are not running as expected. Details are as follows:"
- openim::log::print_red_two_lines "$result"
+ openim::log::print_red_no_time_stamp "$result"
exit 1
fi
From 1600d1d2c173c042fdbc88c1abd52daff7278f75 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 18:02:21 +0800
Subject: [PATCH 72/86] Script Refactoring
---
scripts-new/bricks.sh | 23 +++++++++++++++++++++++
scripts-new/define/binaries.sh | 2 ++
scripts-new/lib/path.sh | 5 +++++
scripts-new/start.sh | 11 +++++++++++
4 files changed, 41 insertions(+)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index 52a42613e..597d06f2a 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -32,6 +32,29 @@ start_binaries() {
}
+start_tools() {
+ # Assume tool_binaries=("ncpu" "infra")
+ for binary in "${tool_binaries[@]}"; do
+ local bin_full_path=$(get_tool_full_path "$binary")
+ # Assuming get_tool_full_path defines full path for each tool
+ cmd=("$bin_full_path" -c "$OPENIM_OUTPUT_CONFIG")
+ echo "Starting ${cmd[@]}"
+ "${cmd[@]}"
+ ret_val=$?
+ if [ $ret_val -eq 0 ]; then
+ echo "Started $bin_full_path successfully."
+ else
+ echo "Failed to start $bin_full_path with exit code $ret_val."
+ return 1
+ fi
+ done
+
+ return 0
+}
+
+
+
+
#kill二进制全路径对应的进程
kill_exist_binaries(){
for binary in "${!binaries[@]}"; do
diff --git a/scripts-new/define/binaries.sh b/scripts-new/define/binaries.sh
index 9a8ca4a76..54f8912e0 100644
--- a/scripts-new/define/binaries.sh
+++ b/scripts-new/define/binaries.sh
@@ -7,3 +7,5 @@ declare -A binaries=(
[openim-no-port]=2
)
+
+tool_binaries=("ncpu" "infra")
diff --git a/scripts-new/lib/path.sh b/scripts-new/lib/path.sh
index 80cfb7e6d..5aea795fb 100644
--- a/scripts-new/lib/path.sh
+++ b/scripts-new/lib/path.sh
@@ -14,3 +14,8 @@ get_bin_full_path() {
+get_tool_full_path() {
+ local tool_name="$1"
+ local tool_full_path="${OPENIM_OUTPUT_HOSTBIN_TOOLS}/${bin_name}"
+ echo ${tool_full_path}
+}
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index 8ba1be2bf..d714510cb 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -12,6 +12,17 @@ source "$OPENIM_SCRIPTS/bricks.sh"
# Main function to start binaries
+result=$(start_tools)
+ret_val=$?
+
+
+if [ $ret_val -ne 0 ]; then
+ echo "tools start failed, abort start"
+ echo "$result"
+ exit 1
+fi
+
+
kill_exist_binaries
From b9d44bad6ff3c56a2738bae22e4004a0ae9d7c77 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 18:05:46 +0800
Subject: [PATCH 73/86] Script Refactoring
---
scripts-new/bricks.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index 597d06f2a..3ffe72ecc 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -35,6 +35,7 @@ start_binaries() {
start_tools() {
# Assume tool_binaries=("ncpu" "infra")
for binary in "${tool_binaries[@]}"; do
+ echo $binary bbbbbbbbbbbbbb
local bin_full_path=$(get_tool_full_path "$binary")
# Assuming get_tool_full_path defines full path for each tool
cmd=("$bin_full_path" -c "$OPENIM_OUTPUT_CONFIG")
From a461f858da39c1fa32a066781847303fc469918b Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 18:07:35 +0800
Subject: [PATCH 74/86] Script Refactoring
---
scripts-new/lib/path.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/lib/path.sh b/scripts-new/lib/path.sh
index 5aea795fb..4059fe1ce 100644
--- a/scripts-new/lib/path.sh
+++ b/scripts-new/lib/path.sh
@@ -16,6 +16,6 @@ get_bin_full_path() {
get_tool_full_path() {
local tool_name="$1"
- local tool_full_path="${OPENIM_OUTPUT_HOSTBIN_TOOLS}/${bin_name}"
+ local tool_full_path="${OPENIM_OUTPUT_HOSTBIN_TOOLS}/${tool_name}"
echo ${tool_full_path}
}
From 9cc62ddf044eb8b25b2dd86ba55127b02208e287 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 18:08:15 +0800
Subject: [PATCH 75/86] Script Refactoring
---
scripts-new/start.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index d714510cb..709d9b027 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -22,7 +22,7 @@ if [ $ret_val -ne 0 ]; then
exit 1
fi
-
+ echo "$result"
kill_exist_binaries
From c7b91c188d61819e5e9f0af4492542d0874aa7ae Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 18:11:44 +0800
Subject: [PATCH 76/86] Script Refactoring
---
scripts-new/bricks.sh | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index 3ffe72ecc..a4c38995f 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -35,17 +35,15 @@ start_binaries() {
start_tools() {
# Assume tool_binaries=("ncpu" "infra")
for binary in "${tool_binaries[@]}"; do
- echo $binary bbbbbbbbbbbbbb
local bin_full_path=$(get_tool_full_path "$binary")
- # Assuming get_tool_full_path defines full path for each tool
cmd=("$bin_full_path" -c "$OPENIM_OUTPUT_CONFIG")
echo "Starting ${cmd[@]}"
- "${cmd[@]}"
+ result="${cmd[@]}"
ret_val=$?
if [ $ret_val -eq 0 ]; then
- echo "Started $bin_full_path successfully."
+ echo "Started $bin_full_path successfully." $result
else
- echo "Failed to start $bin_full_path with exit code $ret_val."
+ echo "Failed to start $bin_full_path with exit code $ret_val." $result
return 1
fi
done
From f8ccdbec7641371773f668b1db6bf7443e455fd8 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 18:14:11 +0800
Subject: [PATCH 77/86] Script Refactoring
---
scripts-new/bricks.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index a4c38995f..3025d4793 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -38,7 +38,7 @@ start_tools() {
local bin_full_path=$(get_tool_full_path "$binary")
cmd=("$bin_full_path" -c "$OPENIM_OUTPUT_CONFIG")
echo "Starting ${cmd[@]}"
- result="${cmd[@]}"
+ result=$( "${cmd[@]}" 2>&1 )
ret_val=$?
if [ $ret_val -eq 0 ]; then
echo "Started $bin_full_path successfully." $result
From 432fffbe5dac7f01f91d78746ab034b443caa966 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 18:15:49 +0800
Subject: [PATCH 78/86] Script Refactoring
---
scripts-new/bricks.sh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index 3025d4793..c8d4f515b 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -38,12 +38,12 @@ start_tools() {
local bin_full_path=$(get_tool_full_path "$binary")
cmd=("$bin_full_path" -c "$OPENIM_OUTPUT_CONFIG")
echo "Starting ${cmd[@]}"
- result=$( "${cmd[@]}" 2>&1 )
+ "${cmd[@]}"
ret_val=$?
if [ $ret_val -eq 0 ]; then
- echo "Started $bin_full_path successfully." $result
+ echo "Started $bin_full_path successfully."
else
- echo "Failed to start $bin_full_path with exit code $ret_val." $result
+ echo "Failed to start $bin_full_path with exit code $ret_val."
return 1
fi
done
From 2d3a8eebe5753a9ca4c16586693880b11f3540fa Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 18:17:09 +0800
Subject: [PATCH 79/86] Script Refactoring
---
scripts-new/bricks.sh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index c8d4f515b..f6d4f9709 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -38,7 +38,9 @@ start_tools() {
local bin_full_path=$(get_tool_full_path "$binary")
cmd=("$bin_full_path" -c "$OPENIM_OUTPUT_CONFIG")
echo "Starting ${cmd[@]}"
- "${cmd[@]}"
+ #"${cmd[@]}"
+ "${cmd[@]}" >> "${LOG_FILE}" 2> >(tee -a "$ERR_LOG_FILE" | while read line; do echo -e "\e[31m${line}\e[0m"; done >&2) &
+
ret_val=$?
if [ $ret_val -eq 0 ]; then
echo "Started $bin_full_path successfully."
From a1be9abd339013fbef267e72c2616d1272729c46 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 18:24:59 +0800
Subject: [PATCH 80/86] Script Refactoring
---
scripts-new/bricks.sh | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/scripts-new/bricks.sh b/scripts-new/bricks.sh
index f6d4f9709..c8d4f515b 100644
--- a/scripts-new/bricks.sh
+++ b/scripts-new/bricks.sh
@@ -38,9 +38,7 @@ start_tools() {
local bin_full_path=$(get_tool_full_path "$binary")
cmd=("$bin_full_path" -c "$OPENIM_OUTPUT_CONFIG")
echo "Starting ${cmd[@]}"
- #"${cmd[@]}"
- "${cmd[@]}" >> "${LOG_FILE}" 2> >(tee -a "$ERR_LOG_FILE" | while read line; do echo -e "\e[31m${line}\e[0m"; done >&2) &
-
+ "${cmd[@]}"
ret_val=$?
if [ $ret_val -eq 0 ]; then
echo "Started $bin_full_path successfully."
From 4a6fd6261112a4de0554d4c9d37db4c79d91de8e Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 18:26:31 +0800
Subject: [PATCH 81/86] Script Refactoring
---
scripts-new/start.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index 709d9b027..4e7e7d9d7 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -22,7 +22,8 @@ if [ $ret_val -ne 0 ]; then
exit 1
fi
- echo "$result"
+echo "all tools ok"
+echo "$result"
kill_exist_binaries
From 1f084044031f6498dfc9997888f72ceb79d0ffca Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 18:32:08 +0800
Subject: [PATCH 82/86] Script Refactoring
---
scripts-new/lib/logging.sh | 3 +++
scripts-new/start.sh | 10 ++++------
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/scripts-new/lib/logging.sh b/scripts-new/lib/logging.sh
index 7e1cf9ba2..cd388671d 100644
--- a/scripts-new/lib/logging.sh
+++ b/scripts-new/lib/logging.sh
@@ -288,6 +288,9 @@ function openim::log::print_red_no_time_stamp() {
echo -e "\033[0;31m$1\033[0m"
}
+function openim::log::print_green_no_time_stamp() {
+ echo -e "\033[0;32m$1\033[0m"
+}
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index 4e7e7d9d7..e4566f1bd 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -14,16 +14,14 @@ source "$OPENIM_SCRIPTS/bricks.sh"
result=$(start_tools)
ret_val=$?
-
-
if [ $ret_val -ne 0 ]; then
- echo "tools start failed, abort start"
- echo "$result"
+ openim::log::print_red "Some tools failed to start, details are as follows, abort start"
+ openim::log::print_red_no_time_stamp "$result"
exit 1
fi
-echo "all tools ok"
-echo "$result"
+openim::log::print_green "All tools executed successfully, details are as follows:"
+openim::log::print_green_no_time_stamp "$result"
kill_exist_binaries
From 21a6fa2a3eb3db5a3a8d6ea65ef9fe43ba510148 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 18:35:48 +0800
Subject: [PATCH 83/86] Script Refactoring
---
scripts-new/start.sh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index e4566f1bd..774aed195 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -21,7 +21,7 @@ if [ $ret_val -ne 0 ]; then
fi
openim::log::print_green "All tools executed successfully, details are as follows:"
-openim::log::print_green_no_time_stamp "$result"
+echo "$result"
kill_exist_binaries
@@ -29,8 +29,8 @@ result=$(check_binaries_stop)
ret_val=$?
if [ $ret_val -ne 0 ]; then
- echo "$result"
- echo "Some services running, abort start"
+ openim::log::print_red "Some services running, details are as follows, abort start"
+ openim::log::print_red_no_time_stamp "$result"
exit 1
fi
From f2ef60f6677979107651a16486a5a87c332f6766 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 18:39:40 +0800
Subject: [PATCH 84/86] Script Refactoring
---
scripts-new/start.sh | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index 774aed195..391c7f74c 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -11,6 +11,7 @@ source "$OPENIM_SCRIPTS/bricks.sh"
# Main function to start binaries
+openim::log::print_blue "Starting tools"
result=$(start_tools)
ret_val=$?
@@ -20,16 +21,19 @@ if [ $ret_val -ne 0 ]; then
exit 1
fi
-openim::log::print_green "All tools executed successfully, details are as follows:"
echo "$result"
+
+openim::log::print_green "All tools executed successfully"
+openim::log::print_blue "Starting services"
+
kill_exist_binaries
result=$(check_binaries_stop)
ret_val=$?
if [ $ret_val -ne 0 ]; then
- openim::log::print_red "Some services running, details are as follows, abort start"
+ openim::log::print_red "Some services running, details are as follows, abort start"
openim::log::print_red_no_time_stamp "$result"
exit 1
fi
From d62c6d38ce086a0aeed3b7569b696fb3a49b2056 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 18:42:22 +0800
Subject: [PATCH 85/86] Script Refactoring
---
scripts-new/start.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index 391c7f74c..e9e196808 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -11,7 +11,7 @@ source "$OPENIM_SCRIPTS/bricks.sh"
# Main function to start binaries
-openim::log::print_blue "Starting tools"
+openim::log::print_blue "Starting tools: Please wait as we initiate the necessary tools required for the operation. This process may take a few moments depending on the number and the complexity of the tools being started. You will be notified upon successful completion of each tool startup, or informed of any issues should they arise. Thank you for your patience."
result=$(start_tools)
ret_val=$?
@@ -25,7 +25,7 @@ echo "$result"
openim::log::print_green "All tools executed successfully"
-openim::log::print_blue "Starting services"
+openim::log::print_blue "Starting services. Please wait as we initiate the necessary system services. This process may take a few moments"
kill_exist_binaries
From b306c715f8c547821b5111a6a8ac4ac0bfdbb0f5 Mon Sep 17 00:00:00 2001
From: skiffer-git <44203734@qq.com>
Date: Tue, 2 Apr 2024 18:45:24 +0800
Subject: [PATCH 86/86] Script Refactoring
---
scripts-new/start.sh | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/scripts-new/start.sh b/scripts-new/start.sh
index e9e196808..1d30dcbbc 100644
--- a/scripts-new/start.sh
+++ b/scripts-new/start.sh
@@ -11,7 +11,9 @@ source "$OPENIM_SCRIPTS/bricks.sh"
# Main function to start binaries
-openim::log::print_blue "Starting tools: Please wait as we initiate the necessary tools required for the operation. This process may take a few moments depending on the number and the complexity of the tools being started. You will be notified upon successful completion of each tool startup, or informed of any issues should they arise. Thank you for your patience."
+openim::log::print_blue "Starting tools primarily involves component verification and other preparatory tasks."
+
+
result=$(start_tools)
ret_val=$?
@@ -25,7 +27,7 @@ echo "$result"
openim::log::print_green "All tools executed successfully"
-openim::log::print_blue "Starting services. Please wait as we initiate the necessary system services. This process may take a few moments"
+openim::log::print_blue "Starting services involves multiple RPCs and API and may take some time. Please be patient"
kill_exist_binaries