From 41bbdfc6d56295b8dec1a429f03defebc850fbed Mon Sep 17 00:00:00 2001 From: fedys Date: Thu, 29 Jun 2023 12:51:15 +0200 Subject: [PATCH 01/11] Install myst-parser step added in README.md --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 29844ba9..b4c5f870 100644 --- a/README.md +++ b/README.md @@ -28,9 +28,10 @@ The following provides instructions for how to build docs locally for visualizat 1. Install Python 3 for your OS if not already installed 2. Install Sphinx `pip install sphinx` 3. Install sphinx-rtd-theme `pip install sphinx-rtd-theme` -4. CD into the docs directory `cd [path to this repo]/docs` -5. Run `make html` -6. This will generate HTML in docs/build/html. Setup a web server with the web root as docs/build/html or open docs/build/html/index.html in a browser. +4. Install myst-parser `pip install myst-parser` +5. CD into the docs directory `cd [path to this repo]/docs` +6. Run `make html` +7. This will generate HTML in docs/build/html. Setup a web server with the web root as docs/build/html or open docs/build/html/index.html in a browser. ### Vale Before pushing, run Vale and address suggestions and errors as applicable. From 88b70626d129cc2aadab820458c84200e2798d47 Mon Sep 17 00:00:00 2001 From: fedys Date: Thu, 29 Jun 2023 16:28:34 +0200 Subject: [PATCH 02/11] Queue settings docs --- .../configuration/images/queue-amazon-sqs.png | Bin 0 -> 36694 bytes docs/configuration/images/queue-amqp.png | Bin 0 -> 33877 bytes .../configuration/images/queue-beanstalkd.png | Bin 0 -> 30612 bytes docs/configuration/images/queue-disabled.png | Bin 0 -> 26466 bytes docs/configuration/images/queue-doctrine.png | Bin 0 -> 29781 bytes docs/configuration/images/queue-redis.png | Bin 0 -> 29527 bytes docs/configuration/settings.rst | 123 ++++++++++++++++-- 7 files changed, 113 insertions(+), 10 deletions(-) create mode 100644 docs/configuration/images/queue-amazon-sqs.png create mode 100644 docs/configuration/images/queue-amqp.png create mode 100644 docs/configuration/images/queue-beanstalkd.png create mode 100644 docs/configuration/images/queue-disabled.png create mode 100644 docs/configuration/images/queue-doctrine.png create mode 100644 docs/configuration/images/queue-redis.png diff --git a/docs/configuration/images/queue-amazon-sqs.png b/docs/configuration/images/queue-amazon-sqs.png new file mode 100644 index 0000000000000000000000000000000000000000..f86bde2c5be753aa632ffb6296a3cfb73c6c8515 GIT binary patch literal 36694 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 literal 0 HcmV?d00001 diff --git a/docs/configuration/images/queue-amqp.png b/docs/configuration/images/queue-amqp.png new file mode 100644 index 0000000000000000000000000000000000000000..040cecc416fbea5b32c7fb03c79bf6af7c560d2a GIT binary patch literal 33877 zcmd>mWmp_Z7cLguHMkR80|d9=65JgIg1fsDAP}6vgS!Uz;7%Y6Hn;`1;C3gw`+d8c z@6Wxz?>s$pPgmEe>T}B8_nhK`vXV3!G7&Nq6cn1Q%v)6`C|Cd#6f`FyJmikIsV6t& z1nr_KEe=&RL9z$=VG7WewNO-qVuV~HLP1AZLBaic1o9<Mv#@dwyU7Dq9jl4CgDHU3)6Vf%7AQeae#oUAz}1Ap)6Ul3h2K+%>W?S*A=kfdvr$p}@rbL9 z5S6x~GKGYLGk}7Jm7SHHN*I}ff-bFy)AvOu0-aq+TuHSuJzccK1M$baO#1-O_wTRFN~IoMPDl51k>;N~hs zMfIzo|9<|gC&1I{?~?3Y{(3FQ3$p!6VdG$BXZx>gNLImLclnjAJOQ>kZ>{Vg>VcFY z%*DM^MY;x z-uxe$_*2b)+=b{_7+H|*zcv#_j-;~4fPxZ*l6@+fSG!~5|ALoD!nDHl+gAZ0zNvL zh<$M1wO?uHb+7{hf$pC_K_UHi+=Pin8p#1Z(}=?Sc7%(jaYa-d>JJZ(7cPG{&l>=tXZ(dCc|gMnnf=+jjbFzBmrJd;@@s%01^_?_dcAbA^cw8r$C&beW!TN zofv!05+kk;75MhCZ@>gDv*J==V;}H&Wdq@4{&{rw!Wlz_th{&}#g0&gkCW6LVrKSz z^{-k$Ds_SxxU$`DIz|uBm)IelA4~qXkU%&&D&sv9ba@?Fq?VlD(`34R;7XFb;#gdM zf59M5BxMFB94wsQwDu|R8c~_yf=q8m;diwGuya*4>8R-bt*BpB#L89O5o#O*{$BhD zjc8$o!dr#^vA_zoXyKTTEs*PX9VW>J%IN?j)BdTaKd#%QDaL$sqSa9_k`FTl9q`vL z+usp?lZC&uqKuDUuLI~M2nqng=SF{OKs(i9aawyy1Nl7i55ZZ?k3QU~-|}0BM4}sq zQbm~AJh;WhZB3h^pZ1~=`t@#8ilgFIgs{;PeaN0$1dF`{kHRdklkBsIM(%UilD3&V zyaWR*Wd5OxH6Iu)xN^%E2FnJR}Tccp72grxsh5emBnuD?4*_?iGB0GxVvy%&kBv`6MF`|`?%^gU3pzc{Q2J!J zOqB6B*}*SiF}`HpI68728PndJ?{a@9wf@r-%O0@Y=7VFkLL-*Ws|Ya^er*DdSj*$8 z-K&wZ2A_v2+f;pdGRprnJ4ARGGL4Z5{=#y7UwgLRBW2x`!^K3Zb^b^PFuNgp@2VQY ziigNu;?}MYC}E=#h1=EGCh@X5pejXc1xS776u-ha!gl+_>DTbZ+ECsaB|{A5nd z*7s5dcsC4_|7qQOvsL1D;Ia|Yy@=Hm%Lb+RnJs3&_PTccctXsF`igCdG%Z1iqEU#3 zO{y{8-j-M`J4Ar}Mh<3F^Drs7?33Hxl;{M>f@J5@-fI5XhvNAEc6`x(L{9~V-rPmi zq3o>lRHqO1W$*_hgVhE!q>JCV@RLsh3{0lKay#Cw9>jbN`7*SbILDTt&`_f9x-1Ra zb3OvVy0Wk8mkmnF$XTZ-WVC3m+}nQUixni#ek1OFEEi9Fe7op0kyJd9z~5lD-T3Us zmN9#T={)Upv~{S~CR>^QZJ-hxl!=gYJN{Wv`<1jhN@Bz@3FYN}AJE_x$&zL)IatcR zb(dIHX&l#A`2Ks9s@BD%2EhE_3ikXaI$-Dtc8^X7-jg76S;ElMt|-&VnZRl}FNH*5 zI7z8G6%@kAtw-;+GOTT5vT&oj#*{&X^Ap% zC6o5u3h#)@z~z(e=f%BwVNdH5LKw6J`i{>!b7;o}6Rd?ty0gg`#U#`m z->|&dc1MC~m$vp&pIrym=c|l(mFPq`7PTpeXX8?NSZp%fj}|f*n}kn0z}}abd!Uxj zr7qJws9rMnp|h5sWUU@C!GsnD&$4ij?jee8N6_s+_$=h1aDIb>Yu zB|Z@&P=~K>YnAlQk6lj{0|30+^j_vz_tZG2PLhmNc{);MFXcLm&oN&f=m1aA>6%zj^as|O6ywz!l>5Eh@{ZaGlJ7l+ZVj3ypTb0B%+1q=5kSP2V*Fbe zyaF9TkK7 zEMpCl#Ez@$7ktHTOhp!^v77#aN-SND@5V;F-^hT^v?kq+v8e*uL*!DiXl?ojVTp8b(T}8}0g<27C<5#Hfc@$wGgbV*A z?ZY6&q>eFK@8T=%P>PzObuRElRYwJ64$?YGxESbS+tq)nsuiVtKhRQ4K#FSyg;c)s zW3*^Qqsi}BKXl=EDZi94fP0LHb?b%vVhkVg*xHSthI8hNs5vx`0G3^Y+fKqy8!vG= zv}q@acs1}@R_zl!rmwWm({xW*fv557JW`XrP)6}`rP8@so81vTO^3@*COGhm zev~)@A8y`ziL-dPS@-Kkke)QBASwj$_aejf@F~tRzIcHe6Gef2_JJN_}P+i~whslPP6qZ!mdh0=z zE2}!HasStJA?=vK)pMZl&Flu1j&YvZn8pc#6)YX<2)4G|B=K{0?En=^6$0oqi~HEX zOsubyzX2In)#Hx5qWjZcKsE1WpI>-m_3D>*Bi5sfXg=Fj5dldq)t>LFns2$xC?yOl z(+L!0etvrj;$IVZp?PX^eDhWNL;TK6bt(~{tisY__x+9cVF=Ggwe=n;7 zF_0kBQivWYP1}^)L<3q4j~F|qhn6u*Fm}*;e^_pqjcv30{X?Iia|C&9uf96?9^`P} zwSlyJXch_sWIQ>K^KzB<@jllxVFTwOx%k>H@O$%({_)K0X}+=ss2tsFO0Cwp&@$dq zjfBnlhTp<8#o?SCQ#$T3J`~QgvZ{AyRwi(107JBG>S{hlM%9FOmmw0owqYS>wwI=M zBoDKlZ(nt~Ya~V3)^x*?e57!E<+s`5^0B`+UWV6^w2MK%p6fgmeP@brf9Jzvz=YvR z=6BmRh|xYAH+p2DfBlRp%3RKxWG&MMdXb_}zvf6A26J6imE)q-dE*b1jk>F5P`}Y_ z)*qcd*DX8t!E9#jd^+TV=_i$A()Z2+RJAtg-dFIv(Ywx^(OptLtTYw~nBX6K=w&0w z5Wbo_4E8~cBI?U}YO?Ty9yBR?FXBH*Z^k0IM0xxLa9l4|#~WoofYfMa%%`Kkjj1H%Nnzq=@`wT)-5nL-goY2MZ9pp#HhWj_H!yGh%i zuM?uVYbM=hC#lu9$Zfe$Y236QEy`r-lpq7KwpL>2!#y}hfLXmGR?T#@+WVk zz~jj{#;$BV9rs6+DxK=$Yj7~F-gf+Mv8;}r7%>}vajMFg3fb`sOJHTx?xhwgkA0gb z4fHXgLYb(nUg3e*^4^?C8K9jx8^7xfnv%rt<6L8-vTRRxM@kigljh4Q_EDIi)0+v? z%Gv+AHJk`6;T*aAf{jRb&!YXshol25*@&To|g&@XEs)xfzzX`Npt?qKebr@7@`b=~^aK={ToMAA1!@OeHx4=ukS2A1vhqOHn{x%NO(S zVr}(LxCet&d6?x(T@p5~bOx7?09#g8iOJs7h%;WHe;}3$pock`TB}cARP#zu2E`V zB!A|*r|&&0{#-%nbA{hLPMH=A;FI{_H_B;&y@vwthzZBf*(={Hf_#{Ynv# zkh#ICDbs!(&ZJ*G+z3)%YsxYB0`WBrw9VU}zDFH=JN2`|7d_H!$3I2NJ8P_0d{>*4 zp#AoNxeO)NPIf(JoXEHaZ9w{jW}3~kF5DQ z_=uF~<>pJA1~i*bHB}?rh>>21wXH4miT`_^euj!>XA!ix-xs@=o@3qHIilHyHJ+j(+Tw778EHu-#Ui>?Zl z;&&l!l@(R3s`DXzKf}4?GTW~jXVFcp9G@4kUSPl~2uh40-y3BMR({cQGr#~PQZkb3 zcdkiUG7xH}pLa^M1oq=h;$@U#z(y#vo1_uyQ=c2^dZ*|PA}0}|21nP+h*5_3qqzkq z+;5(gM^#FBU0kaBtna&*!QXf1BcFPP`&o~}NqfAAM|2{WmM-ttW(j&vT}5ktc3yYl zr5z^qW2+C@?J`ty4tXSako86vycaMj?3rGhxdAf3R^EZe#Te|+Zn+N)^M}ZEZOty$N_0&f%>p%W2JSybcLeA-oe||* zk)MQ$7=o8JpEX7-;Ok%dN}R^fzUBC0o?LYx7KlL4g-9D4#0*2NjfGL^8aWYO;&*#{ zE2Z-bpno`SvfEu3+uv%kAoif6=T%YQM)#^q+)&&M^{Lfl@hy@iu?xZ46bk%RN7S9Fu?`tGaePo&iHffm6KIoI=j9X7s&M=22r$w17DU1 zfUnlR!k5#5=$9ehUh(b)8;~IP9dqZEp zB8G`9o@UT!Yj&&)cTmG5cjduu-5vQp{5H-bQb02SKI<}_$aC$;_qKw@Ks2h);x+ha zkM8~H%aRouo`#v*s)+J$K=(bSk-JdBo`bSG;JQ0E9l^7#AmNxhiaf@!zgeOOvF;Qg zuyj+kjYO4c5VF$StK~O_C*hik19N}XCS_Odx|*ma32`W=C>-fqzn-j@7KOKn`&`5Nndoz?gtVc)J&(YTVMIK_haY zkNSo~SxQfc(vydX%FdKDo;xy(3jTl|{;tYqh*5Rt+t$JG6_4f%s7Yj(EPDDXMWar? z(%K(uPAHz)1~A!`8t?Jk6^%eb7^wnZVB=q#WPM2j%=!90wiG-eY&T>xZb!zve}PuJ zuc@i$=pcT(n3ZNq#$u8caouD@VumZc8}V&3UBUZM!Q~xwQm4x^OQ}(+W<)vb9vgLp z8#~79h&K9vXvSA^t&(6OVg7v|Yt08~7Qh5rU|s}bm`7P5%F@fJo)^O!j;Q#Fb-0|F z5zypMQEEdKn*auL83ak>5QAN4(yLUh+(1upN{N=WKsWAe^`TE}FwUNGloI})_%F9K zKUTd*sz61YJCO}T^&(g7%(i7qV)Ve}j1IYs^=Y9AL$w-d-TfTe^EKrDa~-{TiHGbX z#sQwwkpUiOrkbYSRO&Y+CL)@N+CJ}x&Q`f;(v#;)ZijRnh$_xeZid zpg~ikzl_x8VNb&*=p2r8^*K>Sic&&vg<-IMQ_k8aSl2h;#;$Nor}-A~MRkEo^FPSX zcCqdQIYLGuEd-&Pd^q?ZE3P?sDG9-Oh z7-ttJsTmaHcq}jQ`5#pNW@@`v;e7LwZrkFSbKu$)*Mf=zF5R)jfFi;9YjNU#^MXMN z-8MEOFoZ-)Qh(q4lMBeEg0P)xG(e2s*-nxd(2M|S=#RyJqlG`&tia-5BrLA%j>PY> zq{RZ|7F0wx8UCgj{$y9z7+};#1SJ!0f0xy*f|;x8jyvUv{Cn}9QBcX8@8Zpcf0yNm z3l}9Q$S=aSOJBG4KP8F6NX!4~w^my55_>wT0+dhhFV?+&mmvyck3FB7#9aFg%d~zW z^f=mH+>G<@LHf@X$tgTU0V}y9f`2!YKbhZdMabKL;rh*g7rTZANoW^K_Dc9K@AsF= zG9XNM3sThZ-$J&wVqp)vh{0%yno%zQSu-fV<>d{^kQp@L1%2L0~3@?%ERu-&x~U3AK$)=C+>5R$qzj7fHxfxmyJXwThKstAb= zs4AIaQczH3f39+Kez&#uuuG%vl~c~avE1cCcC#7{U#aTshh!vHn677T`RuHRBCyMW z8)tKXgY>46_oLA5-nGc~qgGBLe*+H5eVhfXh+}0sZ!*!@Y}}4(wgikuO5ki)1$^II z>EYqth>^5!#d5X^UmDuLCqCD-!&O2brW@4mopVNUWGIvo1<$^gbDCWVO1lt&s$W^g z5V00#`39RASrH%b+Q*-svRi=);$____;jB18Z_Nc7W5Xa1f^g!Vgm=60W;6pHn?>w z%WWf-I8~qI2eSe2o^CdCWzNbK$d)4hiCg|x=_*5qgnJ41vr7q&KhUW5A}VMg3(OqM z8jF+4>)tRjDVi>s*|-lADCtaiWgD96b%@q>=~R z&tw%SKva_ctGWj~wwx5Kf+wg}bFJH0%IrUUEY6ARypP~#C=X^!S=6%q=Hrjgc8iB9 z0`TSD%S4h0%0kKQ1mp>Yp(-K}fg9v55Hc?2X(B)v|u88DzX;BVxz*RwQot^|I| zY;r8MU8{+3ILgWFKUdF4soEK1B=i z?`X?d&Ec@jV$5f2*G*y8GeKr8H(I`aA5=(GfBVCzBX-XeS3p5ie4_P+$ZDY-DEK&K zu)}2}L-7(RM*YA=-!=x7m{YW>?Z_Y4hCfiMbU1AC+ zXu)tWSKelIXMiCHV7B1nYeC1o5o_B4`2dE`@dnI=o;EHD0&$;b0v|ruR^ryozER&R(Z_$cksS1~A264$5Xp4WP zIef6`*X$^wCghdrPKA3?0UYRM<<>lbD%jFcYxhq>mFyn`?ZQT%KBe*2j-@1#_bk>G@aj`)Mn zOI7l_HH1G)wHu>)%qeOeoJ=opI($>T-Du09dHZVb{(8@3+I?!3@qq{J$IOiH!04(A z!4Q%Je0uH5abL&zT4Ex}V6zyEM*Od?k>=EOF;EUTCq5Y&b?9VsXutoU+s2x@34fi4 zmeD99w@=AuWJ%7(_grDhCv>@%b+?K4Dodb|n~NUOsZtVuMjR1nj8GKEzNDKi3mZj} zKtR$LPpQ^sk$}JA9$ceBN|i;l;2~hvu@~-5u5*jFa9%Z=+>04g<(gt<>G~XU2NbLz z@R>Fo)_bG&H9QW#R71;I#8>A~Z!Wsh%7zJPRkphrj{U-Zyt55I#x1Lcr`PCt-N&9I z;AJxVg7Ja@r3f#fm@91AOSWa4~#>=X-oU_ z-rT?ej9u45o=ahczuVmq4oMoF$fI#Q5}K!V-$37xipmozNt+#F^+o&qLlmg?pOW7$pfo|0&UQ(7y&Cu&(~4*Nf(H3KnXuxi!e>#WDU zgSJrf>j6>e!KG;1y}9;?okPSthD**_Q6xg_EyHM=v>kC2c34(pi>iFqAVn&NP_ zK7ZgHEtp$P-gT=)1(Q^F?PCvOkWQ<~P^2M=eh_C55_|Lp%69E25)-3vr6ql@W;VPb zt-s4?h&zGIxDiO*)-l4f%_^{jpA895&4Z0Ow=&2BxIk74brQ98f~Dv=ep{LsMG=EZ znh(KXa62`QGX|16)-MO_lto&GNzcgG2oG$R8!_*}n4e#W+2F)-ziBNf7S96{rE0D$ z8nmnSikO#a_cdt4_U5cjPSz_WCC7$rr@obgKNJ}V`+}E|JV-YThbYB4oaiefycmtT zOiuRlR>)j77ig>aRfjzlzb?KdNz>BBnG|JEE)Bb;!Afn>f)033OU7v0A=bqZOc!KK z=QuY$_l9nQ1s&1hd4X3%ZVANlTK9UHuBsc@nmwa&esNUQ7IXa_OQ0nLu8cj1x&fGP zJLbaHMa%Qi|C?rr@4V|Kj)5=I-ePS>Uw?lZc?E{>vu0i%RblHyEVCLH7npc7!DJBq zwHzV7Y7WQ#Tel|U)PADY`wfo#7bel8OoiK8@l%7_l?XG5fyGG1MV(sLtaXmVUFRT# z9H7pLN|a*L>8(6^twjL#8%jYMQroK<=MtRQznm-lKq~Ro?1m4V;`5ajzEq z`Ca~eUw|Aq2^td;4h?-X$jJ;24=;vEEtjyeqDvdhCn7`--laDX+)=2vGen*tTlriS z!FpdYX}`UjiPa>Vi;Y=xY;^GGn4EbZJ4DK>Py244%S8Bj=T#zH=jHXXf5&STkN6|& z(kB(_-p@JW?DOpwU~QzCZgSG4296%FwZu3P=H?<*3-&WwL`3b!5pNGWXRF5%?#c^G z?G-ZrJ6bQf%IQedhi}AeZ^(Cekl^s3Q%!(Y0w7Vdz0sV2XEU?IYI`Ueh1Bv) zuaOTs9wvJhByar+cT9%Fj`;lb$VSf= z?xqD|w6;@1d^`gmkt&&(&Gp8~jiLP6JgZqzwbF0cwd_p{wmrI%dfoP_1UZRRG^JyOc_oeeGKD1@wnAs%5g(d*V z_WSx7juWy>4)S$d;Q4pHAh~ytFqOitw-prs<>IldFn9q?Ky-8$u}g2>~G*ck+G6 zzu}hu%Oc?Df*u|ox@}+TNx~!tLfvc8HX~MucVnMQJtJSxR2sCo%Q`#PdFJP3SG>BQ z3OdI`L_&(cx$(4`$`$icy6{{aneWQW&!-ggm@f- z86Y3w`ysN*T21FUp#WZ*d!t%+UJ#FPJ)^7S{W5oN>a7W(KzeBInd!_8ed&0zjy+T#oxA*!vNRx4_0ZhkW+ zw=IW(&uPSHUbTI}h2$A63fMF1)EsK>PrOYCFTDh9y?sIJR1h292>wK8m(-PflyDQie|M%iOLm`MS&e)s|BIOvnTVm(pbzc`REidn+;20SompMRqqC4ZreC5A| z1c^~Fv#0lHLW*dXH(nlKNl4D3&RS}6&*Tg^>zZyh5wg=w`-Dd(Lozw-W*l)6`kk;`lY0YokH%k z$;a=bxQWe=?#7)d_$1-44=C+)c@n*%Q{*?EU?r#5CF%#z3Ty@&6TImaEyneze6EgD zrO@`}o(-32cXF1Tvxi-r_B@!?SsdjK{&T#^5Ie9Ab{XsU<;R{)!!ZvQ5S*_pq#sXu zYUm5Qe_@LT=+Lb3!uV^A7zUi60K2w~WG9D`=sxa`7Vc)*Til9n?Jtq1Bu1bmI0R&~ z0(BOqJKazSd9M_JoR?|~U)&;OIk9j`qNEgvc# zlmx6weDiNf<>YxqqQ$N(zq>5kl}0t|zQN(hP55Ce>TrI!Y+;*D-}}*=IuE0S zw^HhfZT8Lji;dQ-g?=7ylvu&@t!7Q&&!E5~f$KErqnB;~68@SdzNkwJhk%EV5BVXB z%#YbYZFAhIS(dmOG&g<&`aQNsRYLbPf`SSMyvn9|`P&hz7BUdjOZXafe@TLs)WzGx z$`=J5rvH-7p;3UAd)(Y8L2rFBU@T!>BG)`ws3mw+R2!VmV{Lp6@!R>zC?60XyC}VR z`P%o4ItXBW+3#Und}a5bje@TT(@DMNQCJ~A$m3kbC^x%lx>bqMl@QnUq(jzv!7l+N zg534Qrzi4`T?G4DkY^aRVj!Da&c5|r91@gjwAITN@M{5eA#(bYX}VcV2(l#4fP|JU zpI=EE;UUonKAf7lUMp^ne|`24e$plLTSo()|MV-`yhj(1r-DAgc|V)?p`fr>0GD%& zf5PZI=glO){c^25I$d$uc18I$lez*@T5Z73mN|gqbGCDb(kGhZCAP^D6ntvYE|c!{@!9~<)ISzl_D{LLSE9<^13cAGa_$nm+0bN-^65@amUjW!F08ymfA!H zxi4+><;^xhObUo4eMI^$EBGWmHK$oxb!K{tRAb)$`$-0wfq+aNh~VIiXzzM#|B{%N zk#kxBH!SS-vHW|(@WUYhrs{EYw4X1jfI&@!tIKHIjnio;&=9?R!P~7+GRO02_IljA zuCX$Gc%eA^JsoG}LHMN^*A6qTHaIG=ftW{LNvTRFP6zCCObu;>b#tF1IsI;qH$1d? zmv+0{yOsp|6hElfUvY);bBu3o?#pAGy*i`(>?$J|V!0M!8D@x};o=&_eZKh8HNMqzO8E$P+z{7wvx7Bzw|)&wQ0D5? zp6d%?C_NuzIvFW_h3=#s6*m+pAk&Qi$LvfdLj--0 z@hG9cfkr2DX%Q@Wv%a<|8qLMUMT~R!qaqQg3H`vhzGY1Ln#HnI?ZDAr8xc)*x(DCj zWfp^z04CCy>YQW+EsBZhO^1J|yc)XEBl{G#7*UBNqwUJ#;r~!1%(2I^dFQZvk=7l` zbS$}>X${!)jBxh2&S#TLMYl5_1HKZtatVQZ5Q942YOn^K%Dy!Y_!0+55Osoku!e*O zVS?fnyzcz#k5O#8_4|oL$ySWo35n}}U^YwW1d|hLiFs}F{3V~;vS^(g68iAqIZLV!%&vaua%ws4w)Ng-PE9HA#>Lv% znC=F`^VYysO(}zF8sTB&g+R56{u}m4C@9H;nGj@#NM)rFeL|xg3UzD%_b@a(%uoX^ zo5i2pt*5C-^Ld)oxfnBP7UD&Y@mixH4k8sUTa5QbF%JIThc3!%^ySQ=@-xtSMV}43MnYX#IEeJ zgI(iQ^jb>fZnGF)2rW5a@Bpg0rOL9td>TFoh#Lx z5DNdT@~YsdLzll)4zs=L48f5(Ax(|lu03BanZk{I(I-)MtTzwihY^}N{^w5TYg}qu z2}svz)9bNk$xol&MAsXPE%cYZC(3a0Yridv-nyMzN%gv;&_^w6^*E-Gf708|RG&-W zPB?faY=70m_S~sgy;EU~CH{a(4_9MobM-*Wk4Vhy^3%_8wHISmVTL=iCi5d1H<)d_ z;f@oGj1{LPx%tur}nY zJ*QXQ(KnKCA|~415^zg}37r>5wNWyQaeD7|{ZZ?UzE$m$_em!#r^$v{xG>0M)#bu- zFu5CcgJYO|Kh%u$zJ|l6M>QY(*kqjrcD%-kHG8ufrGGd-jD~#*4gFw9iEJ+$FXgBF z0$&WqpVD}AZ0tMI>oyX($>|6g{N@7^MMcdjeFjnicfoWu#h*>h^Y8t#RnJ(Zw#RX~ ze9vah6ifC~SMFq1{Pt85`{&C~zLS?Sjo)E~u0_NNhrxkqmE(QD%bap@5p@S3Hf>lP zRie4a8oEMD^OrVX4mjTVDStNT(dmgd7V->t4#^#t!zq#RG0fEF~9r3K*Y_ zj7$idQUsnzH}mV+jAtHvG(-6Qh^_hhonHXoE;;j(My11gt9n5Isa;pkBfPv*s1mw1 zKKq;x+_jUvVburJeeal@kVH|9LnFKnRq3TcMqSoP3}G0&BcuC-1X>>cuP-AZV@N$K zsl|gJgYu9ZP6f(maZMshG88x%&-bsvA>~m?AO{m2remMHWH-J%pA|$}+k+H8)Bgc9!WTfOB?nxx97Z@Ner{X!3PR)(P)ItO>Y{ z792%`hsi!Rf)G6$o11{iY$5fr;B{8iIv#P#-j0txU?Xe-EdzAAqsyi4S)(J1mLNqa zk@s!xN09ZoOqZg!dUb4PL!2K|jYC7OE$O|MvY|WAqBLClw=UaX+m`V7lCo(Va2R=h z^u^gYJ97qreO)DLUan$xEAZpi!J`q~6m?_EmBu_W@$>6W&&@ zK!9{g_SC5KztH>n3&2&lXw4Pd>ukT6tnMW^!P%}WT3UHq*U))ep0g6w9XqJ8KYisC zj)>i~b2;`sK@tfpltI);H36i2Im89Y5!{Oa0t-%u_yhVcUJN3KiA$ndg&1o zu{2&aMOS_+-4;sR`=!oq8@Trj7eu-i|LHuPuSCNtPa^Ax-2xB~u1FVe)t+1LU5sTz9@4aM_;Vp+(N=UVr8kvPlcl zj(rqVF$$B>gQaD=N8#LG9Vdg^1>=$++m;~lQI{cy@A!YjKcpf3QEyRW?9=)5I<$uVjliqH zFS&jhn$DL1vqHZmP5Y+zj{_{&WMp*X>909=neQEv+b_NmQ1N7BdhF0QU6_dfF=zxq z=6V%*9j71P-8I4X5HNsEj{rT&@BXm%D&$iLuOuIs?-uzc*kbQ193b$iw%Lb~VU zal(iJc1z6U-|!sll&dwF$q9H!rfS4bjjB9S>@TWu^B08$WNIFAygT_aOUl@2mVM^h zI2QM-cQHc3mUTwJcC%efTBB{`0kq{Hd-h@odR8V&_pJX8@t4a#8!$MuUzgrOLpbm7 zOuxHf=f&YyX|C5ocbVTyvy3e$0w6BYJvRjcFGtfe5&UCN*q%&o8P<=vwzgk>+!($C zbwa=O**fzDQ-R!@utk3 zPkR-L5^7H8=f_&h96EwH!lU;ZZ6KEI73rMhrj=&}vd&%n+n)#I+xJFK$}eovS|B*Z zVZG_c6>(LP_3T%`M#wwa>7WoPhI_LCTRy)n$2~6v%Z^E-#DnVgzIB%Kqjxh~OF90j zLO$2By?1Wg`VF~gFVcx4A#9IN8*H2E8&&g7_7QJO(nVS`^p=%afJW z8f}*-uLaL5%q;-JkZ=O_W2)-*%OLch_!+u~%Q-YR>kofSRaYrZaf&wczV5e>7l6S4+*a)lyN@+$v%1PqFLnS%Wj76XgfXD zO4ie12?(x4HD^Ug6n!@k>`^em`w^DCk&TTDR-~%`5Vf_#frlhi5Gg0^F_iiiJf)YNM6(Y>8cHVI?mu8+#pvmOxqW5Z{1YTzUb zz^S%2Sn|6gLJ;0qI%yvUwgsFtNkGN-ay5A=bP*+s2_T!x4ok{Y2a5lXK&SH=47r)F z(17j!k@WaL55)Gzp561OVx!SU(l!O?R3q0auR)@eHis6_Sl*^KlZJDyf=Qs35G$xa zr^y7;Pv*5)`JS1jx8?TZVDGP{fDcx6HXeCby)Wo6=zlQ-^b)V*ApXG7z)m4WWAZ~A z?XK)v8Va+YllNpk6WSBGjyfA)4~~W4C-mrE?oHO$vi9jWH5G%TB;cjJ+O zB1ePGEVC-f9p14Wy=)2!2llV{jf*zdof4ewpS4=)tEEfTU8>=zKbRcKnxsc}6iK`6 zenslgywmQXNX)*;QSyH~GK3Q`0<^w-a=TL?Eb$vjI7^M;c!b@~i(9`w#ctTph>PZu zeKKg#WPP*iN(k<1a*J9zY1|=*o_F~eHm2#*ZGxii>4vm-9VC;aw77M!s8ldKCnEFF z9(#I|HlE#}H$5bmmZyH{vcH*|=jG=JH_!M)sw+H1p9ATGQqQI|)B#4@uhZ3G|5*vu^k|om`#jE)C2@DqGnvyupIudXn?Tg4xL8)$)#EgMbRSh7SZ%XA8 z4mfir#f1F(0&NH>JVSxV1Xxc97_aSl^d8Ob^RsA^XzLBatdLFon1M1P3NzQ4(ac-A zCRhxGe6;w5{r*NALX<;Y>qNSV2&4wA8P~m)l(No5&oFCBCc97PwP7Y??ed8Y?YHe_ zg2N$E9-N+`tV9lDX9z^P!#;_%7V_nKMWw|)p!>LlSD z1beHbO45s5!AAFYUaFaK)X$21%e1!PAD}nCB3+I0yHBP1tP;yCvACR&;J5Q+nOXV_KMg`|3XaaW!&3&iIZQmplhI0(^Xic_F@E` zcZhR>`&H;3jhc*SPm3p-8ZCE0U}0tN+x)GCxla14XEOFEb6J}Wbjxm*U(+}wCP?l^ zlOJ9z6y_f^p z)p{TU&udUo@0#-Pkf0^fLzJ4Cu#eb+0T``7Q{(lw{4kA_wgD#xCgn8*+}#eXOT4h* z5}9#(e;ieL8}EiIMM`-^uq=TKyHavrQnKml zP2)VlyD5YIrf=DWIIPyC$a|jEDxEab{SBN3$&)czrV=`3^9$DQy!b4`qe+~T+;~o2 zPO9j34R>kYlu#ck!*pRAVjDxVSznz}|62N~E5Ym=tr33s_(A3Q4rE~f+0ZD+@aXNv z%Sx_|pxNZkQVahn(J+H?xy_xED-1$6@&qB(h!WWollz@z8AEebKwTcp#y1@B$jwb0 z^`~?ER8Ry$d<10B+IhL`cFNHgMJ!8w3jpM*V7;ajPFQ)k(V*Z^VFZR!5mP?}jH6<`N-x262B{=67R1;9OTl?73sN1XcvuO;68kcO~1574-iK6zb(h zc}0v|F`5;t4Elsvbz80YC`0!Ba(0khpt~Y@;3+X2uX)v^?e*`tR z{Z`ZgtST&atM6S0W*VF&lNHUOY=DX^4mTkg`F@Y(*0ath;9z7D|Aw&g!ZGX&C9w7K zp)3l@)tV5X!7b@mObU&1>95_05=7mBy_6;)F0j$aO){x_;U$hKi~dO5gTUOf8D73M zOkkKi*>yX7D86`a-({HoUVR{e#&Egzcq-EEouaovk^j#^Cx^Z}Rlzt#X)D^Sfk&D( zJQ!_(tAXgaQ7*O)lf0w}2GrJ|;XZ*`#%*slUTfvmGqC7S47mBA&^?D0U~wkB(er7B z;LR3IebpZUP-ZFDn}qq{qn!mbGa}!*P6a;fqQ%mykJ!?JpDDu#59eF-RzPb)DHPiH zAd6PonwZkC%-~$|M*DY26#(t~Fb}=aQ8%G9R?^66;TR8@MY`I(R?eRE zYPh3kCH%5rxK@;rtSG;7rLhtXMP0+s(;Q)_j@cW(Oi@eQU}MzDpbiYltCv2F8)1FJmLle6 z+>%(3mmg~5wjPT@)yq6}_fMnLT96fX`1=9L7g znFx#_w%F2SriyW5yTCE#Zftx?^vQQpR&hQLBTmr3b>cF}kS13oz~+=kA*)KCdL5g+ z?T+F(4(<|^?c9vuAy=HKpR4!!9QRSAH^fvl7i6ZQym6ubrin1VJ`I)I?y0LZ{u@X- zc>`jHz{+A!mc-@7HE6D!U}6$~m#I{u$&D)lQ!W;oRwR}tWFqj@bLn2P`)r$}RfyO4 z7K{>Sy2`}9XPwGH$&|tX4Y~!yfW8Xzu9idF28dN?{C#hbpD)tp52Vf30tq+R;QB|$ zLYsCHln_c?{2)I6#Su^p2Ekes_LVA%zb<)1YO`yX!e!UcypM#{T5DCS)c@-rK71f5 zITd0#!NT8400*!!Sy^A+fB62+DSTs!gBio=*Z*=7t`hi+Ype!JLi3|#6@jLujL_gr zAXMO`hszw>uX}zX{AA|U#N!kmsv0t*IrmPOm}K=Y()$VbOJVJw+;$1iYoa`Xgqz@L zxwPYQXq&9BQl+0Tp9g}dOn~g^6K&_$@A?=Y?h`b&xv9T~Kz&@wN8km%(-0wBq z-8_}{1>pO4V^QfDqZhIwZDHWLy1GOR403x@CBTupQ{A&<=D(2;w!i9pc#m1ui>Ipr=<1{*uhl#KZ*HTGBP8OZ*D~1Ab`J6HBhA=ym@OA_ihGf!GZ&nP8}bk82aXMmSALOVD# zFtby-6~;4IafKOQ(|R?zDE=G4dkK11gh+TY3UgS{%J~Qd;${u(4K*3;!*gk9<>~mj zjyE_6hD3g*NogHY`pL-q`@Q)Pk+Slsf@xS%#lTvKqS6wG8569c8|)0lwB{|L`<7|N z6KUdbALqzIAjjQRQ4^lQhVdzUqpJPW7K;S?EEe(6ov)SmU^@Gw`4mY&q$1K(N8Bjj z+KeeY$lQ3LK}nG>GrMB*d7wF`>QPER+_FI(fh(5Pe6(lkQC3k_dj^A-Z$PvkcP zAC`9*b}K{RjkWLDBq42YHydsA23r)(So_^FJxJ9R`ienWWevv%jPY7Mb-M$<5w9rK zv&1KMG02xn_<^2bFnqsOkAaMdOaP}Ju`@) zkQ(8(ZxZ_WvF~15D&ZU49!Ox2Mi7=z76-!GLNy{M1$Sf8VoWa%#X0aIn@;Ce{MSIk8hwD>>M?p?q^nS_1#)UbJUvl2U0KOS(br=2m&a}vmxBn=MqXtdhI z_}TajSx&6%pll?~H-U@XQjKa^)JjY+r`~Jvhj^5rpNSV`>TIX52r!A(nmx$5Vt4`I zV99(t7Z%`NEpN#T`XJH8?=klkZpC8Y%<9Ek%4x+x44GGbe)VI-GTT3 zI~0S}(E)$8WLg070Kq?sp+a-e>&2b#&nbd9Lh8#mCzK(dKS$4S%VkY(!Xl3k)AV46{L|dpcC#nM)gm@lqNUskTv<<9VGrrZ1*+$x@wZVZ5b|i9} zeDA3pf|x{JBiz2Wph=%1VA7Ov|3s+YC6mh%I6A-kg5is0y~HspQp=-ZBD3)w#r3YRQhOiY-+{l#J@} zRqqvh4`R~e30-bZzTde!==;khAQ%ZdsMQ4ET8MJ}g>wFarNIK*qUXaAQtQ;0(2>68 zT1C=~mx>DZ^$*j(Vo}Hz&Gmip!fUUQ@hexEN;Q8%naW1t5`FqSmiQc`_8lH5`jSim ziDX2-yhfh|F)>t?1H0h%XX4eEH;9#~jibPqw35j8cb(D`hBrWF zC<@;Yh_^ z_-!6Wwy=1O$wrSCxS?yN#^{u*f^fvm2z_|P?!2g2@3Nh*bPI&%eIao283 zaEHt-+jO3+M>5AQ5{f+@4-Hxq84+R>xNsz9`I|YsObY!9cZ_^-KbKE%h1kc%S-awE znK^ZD>Ceh#F+2)rUvD}X=KdO2(6N~3i4)KU8SsX2*VyYaW_Xr3I4skH=cuceOixnbSd2Dh*gA@74)N=Hgyui*3rBI{m5BLxuT6-b` z2SlN$Lu~Tj@)t8s@*JLdfm@unwW}=xHJ!Azml^D+{EsgL+B?CipB}$4%qzeAc<0vc zmw|7s$#uB75uQ(J41mIt0#i)#mQ*exA>Qh1R9qlFlqr{Ov1MAcNMA{0cWYoaj9 zj@F$BNxB1ChXfaw^sAy;(v?X4o+mhXtIGN2AQqA@FIOuW0oNiI-~1~JT{O@{dceyH zRSH(iRg)RgJIHsPp*s5CnfvP`J|5&7^t&3U z(Ejo#|2g_(J^7DhG>ll!_OYi+WK^GGMVK)}Q|IA#AR8F{;>cog;{iD?J#zNPTVyCY zu!e>PWE7OnTh6v}%G6(4RT&IO2n-3pW9BYEYOUxLZ>T3c=4TqbsPD<=Ah zy0KfI&p>=?(87NaU_Mi>iTRFX91x46W%8bp_?MmZu|=#fFf`n&PW_8gj$5Zu$xrI3 z5gQxJZcWt#@oBtY`h^k&nLZpQ(}|gZ$J{^UX27Arnve7gw5q~FvLf|*%T?9{>VI^f z=wN?m%ejPmK^ZP__Pc*vSYl*v@p9fJU-8m+2)`VxC~pKPHcA5=JMEwR&8pzPQduvM zvINlh&|@Wk6*ehE1i8$p9X+xC@xes0bf3uH;kYCJQ*`kSh_|bR@6Po7a0Q9jnIGY7y|9s}#3AJqyEGB}KL-K*T{NAjD*jx@~l{oga|= zqjR97z;LSL`0-Qg>{wB&R)LZIQ>J8xUzM##Wd1cZPbYY@f7M?KpdzHDopq_Yw?uAh z_H_$spxaOy(87y7SdwG8sC z2XDhw!Tyd;{+>V})vE|-Ohb&Ff60)a9f2VAK=LI<$U zfQ0tJ|CzE};2r(3vlAwr3K*%2^@%?V6(^z{47D;en4Nq|#iVQw&L)LZzp6kZkZU1W zXmU%<@2?;%I4ON)lipTb>!*A5XH$H{B%gfAcnfu`0CRP<#=8c$$jQjin2R4%2AX2U ziCJ@EgO^@Q9OALx$s)-NG6qY!-kd#a?^7T0@gbg+$W7-P0)4Jd_Z&bVB!jX^enQ!f zt5c$DbaaeS{Q#!obh#3xnxkh6m%Ri!dz}_`a+6alY?-!lmZb$p9ElUHR{3#|gwmz` zAyF^F$Pu5n>DFJCYcXKJeGR_kSD2kUasHyF3S zLmg9AEW{G|Ioin8Au+JHw|yNFW<|VYy1!B_as8Ab8NEftLA&PB8@5zk-Q4v7t?X8P zpQX2p2Ai0IYH;#08MWkdRp^A6o)3%GLiy*(h;TaMJpG;CsYfch!O)V89re1t?}n0_ z9NeTVz*RJFUH6%FgDNeIo`9f%l6zNC@vTTlzh+H4so~*-*n%OlTAD9lf8{Ek4YqYE z-;Wk|%S^3G|JK7r3kK(!kID_zc90?PFb?|fFfb{O_ig}<#Zey34owuKA>*nu>5_XB z6M5}7)y9fi5%R>w4=wjqH0M#WXyq0w^Y3{ZWM8p2ixO6I3yuUV5X6

szk#^eJ}} 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

s&`sdM0*SDM6XDf6+ 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 literal 0 HcmV?d00001 diff --git a/docs/configuration/images/queue-doctrine.png b/docs/configuration/images/queue-doctrine.png new file mode 100644 index 0000000000000000000000000000000000000000..33303089bf28864f49bea955a834d6597e6234f7 GIT binary patch literal 29781 zcmd43Rd5|i(*-E9#bC)6Gg{2d%*@PSvBk_}F@wd-U@1{ zVin!dt*$Q0%C5>hC+mKblM#i7!Gr+;0f8466H)*H0XG2w0VRTZ4}7A&feZz_fZ8jF z3V>9MV;=$kF)&sWH<6YGp#a`Pfq({o0fG4S3h=}Po**C)u|Xh^z$-HFl*_B8Rx$!sX3@gOK}+5 zSkdSk*%%npxLDc#$^ydW!U4RsGIr3%cd@dxw&!r+Cj8?K4&eQ-$Fzj_f4t&g!A+

mASCivcHn>9gk}y7wj8vy&d$y>&WtoRcBZuS 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 C06}5^ literal 0 HcmV?d00001 diff --git a/docs/configuration/settings.rst b/docs/configuration/settings.rst index d2ff7185..19855626 100644 --- a/docs/configuration/settings.rst +++ b/docs/configuration/settings.rst @@ -16,7 +16,7 @@ General settings * **Site URL** - This is where Mautic is physically installed. Set the URL for this site here. Cron jobs needs this to correctly determine absolute URLs when generating links for Emails, etc. It 's also called Mautic's 'base URL'. -* **Mautic's root URL** - When a User signs in to their Mautic instance, they go to ``mautic.example.com``. However, that Landing Page is also accessible to the public. If a Contact visits that address, they see the Mautic login page for that instance. +* **Mautic's root URL** - When a User signs in to their Mautic instance, they go to ``mautic.example.com``. However, that Landing Page is also accessible to the public. If a Contact visits that address, they see the Mautic login page for that instance. To brand that Landing Page, create a Mautic Landing Page that you'd want to greet any Contacts who visit your root ``URL``. Once you've done that, Users can sign in into Mautic by visiting ``mautic.example.com/s/login``. @@ -174,7 +174,7 @@ The SMTP transport is the default transport used for sending Emails with Mautic. Mautic now uses a specific way of providing the connection details for Email transports to interpret, known as a Data Source Name, or DSN. This is the example Data Source Name configuration mentioned in the :xref:`Symfony Mailer` documentation for SMTP: .. code-block:: shell - + smtp://user:pass@smtp.example.com:port Mautic creates this automatically from the values entered in the Email configuration: @@ -225,18 +225,18 @@ Example API transport installation .. vale on .. warning:: - Installing Symfony Transports is possible when you've :doc:`installed Mautic via Composer `. + Installing Symfony Transports is possible when you've :doc:`installed Mautic via Composer `. If you want to use :xref:`Sendgrid` API instead of SMTP to send Emails, for example, you can install the official Symfony Sendgrid Transport by running the following command that is mentioned along others in the :xref:`Symfony Mailer` documentation. .. code-block:: shell - + composer require symfony/sendgrid-mailer After that, you can configure the transport in the Mautic configuration. The example DSN is again mentioned in the :xref:`Symfony Mailer` documentation along with other transports. In the example of using the Sendgrid API, the DSN looks like this: .. code-block:: shell - + sendgrid+api://KEY@default This is how it would be set up in Mautic's Email configuration: @@ -245,7 +245,7 @@ This is how it would be set up in Mautic's Email configuration: :width: 400 :alt: Sendgrid API DSN example -To replace the SendGrid API key, add it to the relevant field in the Email configuration and save. Mautic now uses the SendGrid API to send Emails. +To replace the SendGrid API key, add it to the relevant field in the Email configuration and save. Mautic now uses the SendGrid API to send Emails. .. warning:: It's a nice perk that Mautic can use any transport provided by Symfony Mailer. However, be aware that such transports (from Symfony) don't support batch sending, even via API. They only send one email per request, as opposed to a thousand emails per request as is the case with some Mautic transports, which can make them slow at scale. They also don't support transport callback handling used for bounce management. If you plan to send larger volumes of Emails or need to use features which require callback handling, please consider using Email transports built specifically for such use. These plugins are available in the :doc:`Mautic Marketplace `. @@ -263,7 +263,7 @@ Queued delivery Mautic works most effectively with high send volumes if you use the queued delivery method. Mautic stores the Email in the configured spool directory until the execution of the command to process the queue. Set up a :doc:`cron job ` at the desired interval to run the command: .. code-block:: shell - + php /path/to/mautic/bin/console messenger:consume email_transport Some hosts may have limits on the number of Emails sent during a specified time frame and/or limit the execution time of a script. If that's the case for you, or if you just want to moderate batch processing, you can configure batch numbers and time limits in Mautic's Configuration. See the :doc:`cron job documentation ` for more specifics. @@ -288,7 +288,7 @@ Mail send settings * **Custom return path (bounce) address** - Set a custom return path/bounce Email address for Emails sent from the system. Note that some mail transports, such as GMail, won't support this. -* **Mailer is owner** - If Contacts in Mautic have owners, select Yes to use the Contact owner as the sender of Emails to any Contacts they're listed as the owner for. +* **Mailer is owner** - If Contacts in Mautic have owners, select Yes to use the Contact owner as the sender of Emails to any Contacts they're listed as the owner for. .. note:: @@ -300,7 +300,7 @@ Mail send settings Default frequency rule ====================== -* **Do not contact more than each ** - This limits the number of Marketing Messages a Contact receives in a certain period of time day, week, month. Transactional messages don't count towards this limit. You can adjust this at the individual Contact level, either manually or by Preference Center setting. +* **Do not contact more than each ** - This limits the number of Marketing Messages a Contact receives in a certain period of time day, week, month. Transactional messages don't count towards this limit. You can adjust this at the individual Contact level, either manually or by Preference Center setting. .. note:: @@ -447,7 +447,110 @@ Company settings :alt: Screenshot showing Company Merge Settings Configuration in Mautic * **Merge by unique fields with operator** - You can determine which operator to use when merging fields if there is more than one unique identifier. - + +Queue settings +**************** + +Purpose of the queuing +====================== + +Mautic can optionally use a queuing mechanism for sending emails. This feature is essential when Mautic is run **at large scale**. There will be more tasks that can utilize queuing in the future. + +When you enable queuing, emails are no longer sent immediately (e.g. within HTTP requests) +but put in a queue and sent later using queue consumers. Using consumers help offload workload of your webserver and allows easier scaling of your instance. + +The queuing is disabled by default +================================== + +After installing a fresh instance of Mautic, **the queuing feature is disabled** (the queue DSN is set to ``"sync://"``) as shown in the following screenshot. + +.. image:: images/queue-disabled.png + :width: 600 + :alt: Queue is disabled + +How to enable the queuing +========================= + +First you need to choose what technology (queuing transport) will drive your queue. The are several options available at the moment. It is up to you to choose which one fits your needs the best. + +**Currently available transports:** + +* :ref:`Doctrine` +* :ref:`Redis` +* :ref:`AMQP` +* :ref:`Beanstalkd` +* :ref:`Amazon SQS` + +Doctrine +-------- +This transport is easy to setup as it does not require installing any additional extension. +It uses database table ``messenger_messages`` for storing messages (the table name can be changed via options). The screenshot below shows the basic settings. + +.. image:: images/queue-doctrine.png + :width: 600 + :alt: Example of Doctrine transport + +See `https://symfony.com/doc/5.4/messenger.html#doctrine-transport `_ for the complete list of configuration options. + +Redis +----- +This transport requires the Redis PHP extension (>=4.3) and a running `Redis `_ server (^5.0). Once these requirements are met, the typical configuration looks as follows. + +.. image:: images/queue-redis.png + :width: 600 + :alt: Example of Redis transport + +See `https://symfony.com/doc/5.4/messenger.html#redis-transport `_ for the complete list of configuration options. + +AMQP +---- +The AMQP transport requires the AMQP PHP extension and a running AMQP service like `RabbitMQ `_. See the screenshot below for an example of the configuration. + +.. image:: images/queue-amqp.png + :width: 600 + :alt: Example of AMQP transport + +See `https://symfony.com/doc/5.4/messenger.html#amqp-transport `_ for the complete list of configuration options. + +Beanstalkd +---------- +The Beanstalkd transport requires a running `Beanstalkd `_ service and a composer dependency installed via ``composer require symfony/beanstalkd-messenger``. +After installing the composer dependency, you can fill in the configuration as follows. + +.. image:: images/queue-beanstalkd.png + :width: 600 + :alt: Example of Beanstalkd transport + +See `https://symfony.com/doc/5.4/messenger.html#beanstalkd-transport `_ for the complete list of configuration options. + +Amazon SQS +---------- +The Amazon SQS transport is ideal when your Mautic instance is hosted on AWS. You will need to install a composer dependency via ``composer require symfony/amazon-sqs-messenger``. See the example of the configuration below. + +.. image:: images/queue-amazon-sqs.png + :width: 600 + :alt: Example of Amazon SQS transport + +See `https://symfony.com/doc/5.4/messenger.html#amazon-sqs `_ for the complete list of configuration options. + +How to consume messages from the queue +====================================== + +TBD + +Advanced setting +================ + +Retry strategy +-------------- + +TBD + +Queue for failures +------------------ + +TBD + Notification settings ********************* From 2359ba68ef8e175c3408e57753681919f3673585 Mon Sep 17 00:00:00 2001 From: fedys Date: Fri, 30 Jun 2023 07:56:47 +0200 Subject: [PATCH 03/11] Queue settings docs --- docs/configuration/settings.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuration/settings.rst b/docs/configuration/settings.rst index 19855626..9aac76f0 100644 --- a/docs/configuration/settings.rst +++ b/docs/configuration/settings.rst @@ -457,7 +457,7 @@ Purpose of the queuing Mautic can optionally use a queuing mechanism for sending emails. This feature is essential when Mautic is run **at large scale**. There will be more tasks that can utilize queuing in the future. When you enable queuing, emails are no longer sent immediately (e.g. within HTTP requests) -but put in a queue and sent later using queue consumers. Using consumers help offload workload of your webserver and allows easier scaling of your instance. +but put in a queue and sent later using queue consumers (also known as workers). Using consumers help offload workload of your webserver and allows easier scaling of your instance. The queuing is disabled by default ================================== From e7afbed8f814f5bfba5bbd267ac1ea835a1b6cff Mon Sep 17 00:00:00 2001 From: fedys Date: Thu, 26 Oct 2023 13:59:48 +0200 Subject: [PATCH 04/11] Queue settings docs completed --- docs/configuration/images/queue-failures.png | Bin 0 -> 32681 bytes .../images/queue-retry-strategy.png | Bin 0 -> 12908 bytes docs/configuration/settings.rst | 27 ++++++++++++++++-- 3 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 docs/configuration/images/queue-failures.png create mode 100644 docs/configuration/images/queue-retry-strategy.png diff --git a/docs/configuration/images/queue-failures.png b/docs/configuration/images/queue-failures.png new file mode 100644 index 0000000000000000000000000000000000000000..636289fae3e73d294483a4ceade5b887d5431f55 GIT binary patch literal 32681 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 literal 0 HcmV?d00001 diff --git a/docs/configuration/settings.rst b/docs/configuration/settings.rst index 9aac76f0..62c4edbb 100644 --- a/docs/configuration/settings.rst +++ b/docs/configuration/settings.rst @@ -536,7 +536,14 @@ See `https://symfony.com/doc/5.4/messenger.html#amazon-sqs `_ Advanced setting ================ @@ -544,12 +551,26 @@ Advanced setting Retry strategy -------------- -TBD +When the processing of a message fails, the message is sent back to the queue for another try. You can adjust this behaviour in this section. +See `https://symfony.com/doc/5.4/messenger.html#retries-failures `_ for more details. + +The screenshot below shows the default values. + +.. image:: images/queue-retry-strategy.png + :width: 600 + :alt: Retry strategy defaults Queue for failures ------------------ -TBD +If a message fails all its retries, it's discarded by default. To avoid this happening, you can optionally configure a queue for failures. +For more details see the documentation on `https://symfony.com/doc/5.4/messenger.html#saving-retrying-failed-messages `_. + +The screenshot below shows the example of configuring the failure queue using the Doctrine transport. + +.. image:: images/queue-failures.png + :width: 600 + :alt: Example of failure configuration Notification settings ********************* From 5309973b651e3b0927da942f592bead07213a3cb Mon Sep 17 00:00:00 2001 From: fedys Date: Mon, 30 Oct 2023 15:56:43 +0100 Subject: [PATCH 05/11] Files used for the hyperlinks --- docs/configuration/settings.rst | 23 +++++++++---------- docs/links/queue_amazon_sqs.py | 7 ++++++ docs/links/queue_amqp_transport.py | 7 ++++++ docs/links/queue_beanstalk_transport.py | 7 ++++++ docs/links/queue_consuming_messages.py | 7 ++++++ docs/links/queue_doctrine_transport.py | 7 ++++++ docs/links/queue_redis_transport.py | 7 ++++++ docs/links/queue_retries_failures.py | 7 ++++++ .../queue_saving_retrying_failed_messages.py | 7 ++++++ docs/links/redis.py | 7 ++++++ 10 files changed, 74 insertions(+), 12 deletions(-) create mode 100644 docs/links/queue_amazon_sqs.py create mode 100644 docs/links/queue_amqp_transport.py create mode 100644 docs/links/queue_beanstalk_transport.py create mode 100644 docs/links/queue_consuming_messages.py create mode 100644 docs/links/queue_doctrine_transport.py create mode 100644 docs/links/queue_redis_transport.py create mode 100644 docs/links/queue_retries_failures.py create mode 100644 docs/links/queue_saving_retrying_failed_messages.py create mode 100644 docs/links/redis.py diff --git a/docs/configuration/settings.rst b/docs/configuration/settings.rst index 62c4edbb..e53aa58d 100644 --- a/docs/configuration/settings.rst +++ b/docs/configuration/settings.rst @@ -490,38 +490,38 @@ It uses database table ``messenger_messages`` for storing messages (the table na :width: 600 :alt: Example of Doctrine transport -See `https://symfony.com/doc/5.4/messenger.html#doctrine-transport `_ for the complete list of configuration options. +See :xref:`queue-doctrine-transport` for the complete list of configuration options. Redis ----- -This transport requires the Redis PHP extension (>=4.3) and a running `Redis `_ server (^5.0). Once these requirements are met, the typical configuration looks as follows. +This transport requires the Redis PHP extension (>=4.3) and a running :xref:`Redis` server (^5.0). Once these requirements are met, the typical configuration looks as follows. .. image:: images/queue-redis.png :width: 600 :alt: Example of Redis transport -See `https://symfony.com/doc/5.4/messenger.html#redis-transport `_ for the complete list of configuration options. +See :xref:`queue-redis-transport` for the complete list of configuration options. AMQP ---- -The AMQP transport requires the AMQP PHP extension and a running AMQP service like `RabbitMQ `_. See the screenshot below for an example of the configuration. +The AMQP transport requires the AMQP PHP extension and a running AMQP service like :xref:`RabbitMQ`. See the screenshot below for an example of the configuration. .. image:: images/queue-amqp.png :width: 600 :alt: Example of AMQP transport -See `https://symfony.com/doc/5.4/messenger.html#amqp-transport `_ for the complete list of configuration options. +See :xref:`queue-amqp-transport` for the complete list of configuration options. Beanstalkd ---------- -The Beanstalkd transport requires a running `Beanstalkd `_ service and a composer dependency installed via ``composer require symfony/beanstalkd-messenger``. +The Beanstalkd transport requires a running :xref:`Beanstalkd` service and a composer dependency installed via ``composer require symfony/beanstalkd-messenger``. After installing the composer dependency, you can fill in the configuration as follows. .. image:: images/queue-beanstalkd.png :width: 600 :alt: Example of Beanstalkd transport -See `https://symfony.com/doc/5.4/messenger.html#beanstalkd-transport `_ for the complete list of configuration options. +See :xref:`queue-beanstalkd-transport` for the complete list of configuration options. Amazon SQS ---------- @@ -531,7 +531,7 @@ The Amazon SQS transport is ideal when your Mautic instance is hosted on AWS. Yo :width: 600 :alt: Example of Amazon SQS transport -See `https://symfony.com/doc/5.4/messenger.html#amazon-sqs `_ for the complete list of configuration options. +See :xref:`queue-amazon-sqs` for the complete list of configuration options. How to consume messages from the queue ====================================== @@ -542,8 +542,7 @@ To start consuming the messages from the queue, you need to run the following Sy php bin/console messenger:consume email -If you don't use Kubernetes in your environment, use a process manager like Supervisor or systemd to keep your worker(s) running. More on this at -`https://symfony.com/doc/5.4/messenger.html#consuming-messages-running-the-worker `_ +If you don't use Kubernetes in your environment, use a process manager like Supervisor or systemd to keep your worker(s) running. More on this at :xref:`queue-consuming-messages` Advanced setting ================ @@ -552,7 +551,7 @@ Retry strategy -------------- When the processing of a message fails, the message is sent back to the queue for another try. You can adjust this behaviour in this section. -See `https://symfony.com/doc/5.4/messenger.html#retries-failures `_ for more details. +See :xref:`queue-retries-failures` for more details. The screenshot below shows the default values. @@ -564,7 +563,7 @@ Queue for failures ------------------ If a message fails all its retries, it's discarded by default. To avoid this happening, you can optionally configure a queue for failures. -For more details see the documentation on `https://symfony.com/doc/5.4/messenger.html#saving-retrying-failed-messages `_. +For more details see the documentation on :xref:`queue-saving-retrying-failed-messages`. The screenshot below shows the example of configuring the failure queue using the Doctrine transport. diff --git a/docs/links/queue_amazon_sqs.py b/docs/links/queue_amazon_sqs.py new file mode 100644 index 00000000..58a1f3a4 --- /dev/null +++ b/docs/links/queue_amazon_sqs.py @@ -0,0 +1,7 @@ +from . import link + +link_name = "queue-amazon-sqs" +link_text = "https://symfony.com/doc/5.4/messenger.html#amazon-sqs" +link_url = "https://symfony.com/doc/5.4/messenger.html#amazon-sqs" + +link.xref_links.update({link_name: (link_text, link_url)}) diff --git a/docs/links/queue_amqp_transport.py b/docs/links/queue_amqp_transport.py new file mode 100644 index 00000000..19678fc0 --- /dev/null +++ b/docs/links/queue_amqp_transport.py @@ -0,0 +1,7 @@ +from . import link + +link_name = "queue-amqp-transport" +link_text = "https://symfony.com/doc/5.4/messenger.html#amqp-transport" +link_url = "https://symfony.com/doc/5.4/messenger.html#amqp-transport" + +link.xref_links.update({link_name: (link_text, link_url)}) diff --git a/docs/links/queue_beanstalk_transport.py b/docs/links/queue_beanstalk_transport.py new file mode 100644 index 00000000..4b24408e --- /dev/null +++ b/docs/links/queue_beanstalk_transport.py @@ -0,0 +1,7 @@ +from . import link + +link_name = "queue-beanstalkd-transport" +link_text = "https://symfony.com/doc/5.4/messenger.html#beanstalkd-transport" +link_url = "https://symfony.com/doc/5.4/messenger.html#beanstalkd-transport" + +link.xref_links.update({link_name: (link_text, link_url)}) diff --git a/docs/links/queue_consuming_messages.py b/docs/links/queue_consuming_messages.py new file mode 100644 index 00000000..66c9b16d --- /dev/null +++ b/docs/links/queue_consuming_messages.py @@ -0,0 +1,7 @@ +from . import link + +link_name = "queue-consuming-messages" +link_text = "https://symfony.com/doc/5.4/messenger.html#consuming-messages-running-the-worker" +link_url = "https://symfony.com/doc/5.4/messenger.html#consuming-messages-running-the-worker" + +link.xref_links.update({link_name: (link_text, link_url)}) diff --git a/docs/links/queue_doctrine_transport.py b/docs/links/queue_doctrine_transport.py new file mode 100644 index 00000000..122c5a20 --- /dev/null +++ b/docs/links/queue_doctrine_transport.py @@ -0,0 +1,7 @@ +from . import link + +link_name = "queue-doctrine-transport" +link_text = "https://symfony.com/doc/5.4/messenger.html#doctrine-transport" +link_url = "https://symfony.com/doc/5.4/messenger.html#doctrine-transport" + +link.xref_links.update({link_name: (link_text, link_url)}) diff --git a/docs/links/queue_redis_transport.py b/docs/links/queue_redis_transport.py new file mode 100644 index 00000000..37adf0ce --- /dev/null +++ b/docs/links/queue_redis_transport.py @@ -0,0 +1,7 @@ +from . import link + +link_name = "queue-redis-transport" +link_text = "https://symfony.com/doc/5.4/messenger.html#redis-transport" +link_url = "https://symfony.com/doc/5.4/messenger.html#redis-transport" + +link.xref_links.update({link_name: (link_text, link_url)}) diff --git a/docs/links/queue_retries_failures.py b/docs/links/queue_retries_failures.py new file mode 100644 index 00000000..acaf3d80 --- /dev/null +++ b/docs/links/queue_retries_failures.py @@ -0,0 +1,7 @@ +from . import link + +link_name = "queue-retries-failures" +link_text = "https://symfony.com/doc/5.4/messenger.html#retries-failures" +link_url = "https://symfony.com/doc/5.4/messenger.html#retries-failures" + +link.xref_links.update({link_name: (link_text, link_url)}) diff --git a/docs/links/queue_saving_retrying_failed_messages.py b/docs/links/queue_saving_retrying_failed_messages.py new file mode 100644 index 00000000..e1494a21 --- /dev/null +++ b/docs/links/queue_saving_retrying_failed_messages.py @@ -0,0 +1,7 @@ +from . import link + +link_name = "queue-saving-retrying-failed-messages" +link_text = "https://symfony.com/doc/5.4/messenger.html#saving-retrying-failed-messages" +link_url = "https://symfony.com/doc/5.4/messenger.html#saving-retrying-failed-messages" + +link.xref_links.update({link_name: (link_text, link_url)}) diff --git a/docs/links/redis.py b/docs/links/redis.py new file mode 100644 index 00000000..f558ff97 --- /dev/null +++ b/docs/links/redis.py @@ -0,0 +1,7 @@ +from . import link + +link_name = "Redis" +link_text = "Redis" +link_url = "https://redis.io/" + +link.xref_links.update({link_name: (link_text, link_url)}) From cca3af12d1bb45d48739d51e3cad41a05e43ca57 Mon Sep 17 00:00:00 2001 From: fedys Date: Mon, 30 Oct 2023 16:04:25 +0100 Subject: [PATCH 06/11] Suggestions addressed --- docs/configuration/settings.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/configuration/settings.rst b/docs/configuration/settings.rst index e53aa58d..b2b8dba8 100644 --- a/docs/configuration/settings.rst +++ b/docs/configuration/settings.rst @@ -454,13 +454,13 @@ Queue settings Purpose of the queuing ====================== -Mautic can optionally use a queuing mechanism for sending emails. This feature is essential when Mautic is run **at large scale**. There will be more tasks that can utilize queuing in the future. +Mautic can optionally use a queuing mechanism for sending Emails. This feature is essential when running Mautic **at large scale**. It's planned to extend the tasks that can utilize queuing in the future. -When you enable queuing, emails are no longer sent immediately (e.g. within HTTP requests) +When you enable queuing, Emails are no longer sent immediately - for example, within the browser but put in a queue and sent later using queue consumers (also known as workers). Using consumers help offload workload of your webserver and allows easier scaling of your instance. -The queuing is disabled by default -================================== +Mautic doesn't use queues by default +==================================== After installing a fresh instance of Mautic, **the queuing feature is disabled** (the queue DSN is set to ``"sync://"``) as shown in the following screenshot. @@ -550,7 +550,7 @@ Advanced setting Retry strategy -------------- -When the processing of a message fails, the message is sent back to the queue for another try. You can adjust this behaviour in this section. +When the processing of a message fails, Mautic sends the message back to the queue for another try. You can adjust this behaviour in this section. See :xref:`queue-retries-failures` for more details. The screenshot below shows the default values. @@ -562,7 +562,7 @@ The screenshot below shows the default values. Queue for failures ------------------ -If a message fails all its retries, it's discarded by default. To avoid this happening, you can optionally configure a queue for failures. +If a message fails all its retries, it's discarded by default. To avoid this happening, you can optionally configure a Queue for failures. For more details see the documentation on :xref:`queue-saving-retrying-failed-messages`. The screenshot below shows the example of configuring the failure queue using the Doctrine transport. From b3bb876c218a4484bcac3729f98ab92f9e10c50d Mon Sep 17 00:00:00 2001 From: Ruth Cheesley Date: Tue, 9 Jan 2024 17:57:41 +0000 Subject: [PATCH 07/11] Apply suggestions from code review --- docs/configuration/settings.rst | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/docs/configuration/settings.rst b/docs/configuration/settings.rst index a7ebe27f..83461101 100644 --- a/docs/configuration/settings.rst +++ b/docs/configuration/settings.rst @@ -302,8 +302,14 @@ See :ref:`here` to set the Contact's Em Default frequency rule ====================== + +.. vale off + * **Do not contact more than each ** - This limits the number of Marketing Messages a Contact receives in a certain period of time day, week, month. Transactional messages don't count towards this limit. You can adjust this at the individual Contact level, either manually or by Preference Center setting. +.. vale on + + .. note:: More information is available in the :doc:`Default Frequency Rule documentation`. @@ -459,22 +465,22 @@ Purpose of the queuing Mautic can optionally use a queuing mechanism for sending Emails. This feature is essential when running Mautic **at large scale**. It's planned to extend the tasks that can utilize queuing in the future. When you enable queuing, Emails are no longer sent immediately - for example, within the browser -but put in a queue and sent later using queue consumers (also known as workers). Using consumers help offload workload of your webserver and allows easier scaling of your instance. - +When you enable queuing, Emails are no longer sent immediately - for example, within the browser. +but instead, Mautic places them in a queue and sends them later using queue consumers - also known as workers. Using consumers helps to offload the workload of your server, and allows easier scaling of your Mautic instance.``` Mautic doesn't use queues by default ==================================== After installing a fresh instance of Mautic, **the queuing feature is disabled** (the queue DSN is set to ``"sync://"``) as shown in the following screenshot. - +After installing a fresh instance of Mautic, **queues aren't used** (By default, Mautic has the queue DSN set to ``"sync://"``) as shown in the following screenshot. .. image:: images/queue-disabled.png :width: 600 - :alt: Queue is disabled + :alt: Queue is turned off How to enable the queuing ========================= First you need to choose what technology (queuing transport) will drive your queue. The are several options available at the moment. It is up to you to choose which one fits your needs the best. - +First you need to decide on a queuing transport to drive your queue. There are several options available at the moment. It's up to you to choose which one fits your needs the best. **Currently available transports:** * :ref:`Doctrine` @@ -485,9 +491,9 @@ First you need to choose what technology (queuing transport) will drive your que Doctrine -------- -This transport is easy to setup as it does not require installing any additional extension. +This transport is easy to setup as it doesn't require installing any additional extension. It uses database table ``messenger_messages`` for storing messages (the table name can be changed via options). The screenshot below shows the basic settings. - +It uses database table ``messenger_messages`` for storing messages - the table name can be changed via options. The screenshot below shows the basic settings. .. image:: images/queue-doctrine.png :width: 600 :alt: Example of Doctrine transport @@ -517,7 +523,7 @@ See :xref:`queue-amqp-transport` for the complete list of configuration options. Beanstalkd ---------- The Beanstalkd transport requires a running :xref:`Beanstalkd` service and a composer dependency installed via ``composer require symfony/beanstalkd-messenger``. -After installing the composer dependency, you can fill in the configuration as follows. +After installing the Composer dependency, you can fill in the configuration as follows. .. image:: images/queue-beanstalkd.png :width: 600 @@ -527,7 +533,7 @@ See :xref:`queue-beanstalkd-transport` for the complete list of configuration op Amazon SQS ---------- -The Amazon SQS transport is ideal when your Mautic instance is hosted on AWS. You will need to install a composer dependency via ``composer require symfony/amazon-sqs-messenger``. See the example of the configuration below. +The Amazon SQS transport is ideal when hosting your Mautic instance on AWS. You need to install a Composer dependency via ``composer require symfony/amazon-sqs-messenger``. See the example of the configuration below. .. image:: images/queue-amazon-sqs.png :width: 600 @@ -535,10 +541,10 @@ The Amazon SQS transport is ideal when your Mautic instance is hosted on AWS. Yo See :xref:`queue-amazon-sqs` for the complete list of configuration options. -How to consume messages from the queue +How to consume messages from the Queue ====================================== -To start consuming the messages from the queue, you need to run the following Symfony command. +To start consuming the messages from the Queue, you need to run the following Symfony command. .. code-block:: From f51ad4bd3acebf9ef793cd3957599b65bd292019 Mon Sep 17 00:00:00 2001 From: Ruth Cheesley Date: Tue, 9 Jan 2024 18:03:32 +0000 Subject: [PATCH 08/11] Apply suggestions from code review --- docs/configuration/settings.rst | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/docs/configuration/settings.rst b/docs/configuration/settings.rst index 83461101..92ed1b71 100644 --- a/docs/configuration/settings.rst +++ b/docs/configuration/settings.rst @@ -470,16 +470,16 @@ but instead, Mautic places them in a queue and sends them later using queue cons Mautic doesn't use queues by default ==================================== -After installing a fresh instance of Mautic, **the queuing feature is disabled** (the queue DSN is set to ``"sync://"``) as shown in the following screenshot. +A fresh instance of Mautic has **the queuing feature turned off** (the queue DSN configuration is ``"sync://"``) as shown in the following screenshot. After installing a fresh instance of Mautic, **queues aren't used** (By default, Mautic has the queue DSN set to ``"sync://"``) as shown in the following screenshot. .. image:: images/queue-disabled.png :width: 600 - :alt: Queue is turned off + :alt: Queue turned off How to enable the queuing ========================= -First you need to choose what technology (queuing transport) will drive your queue. The are several options available at the moment. It is up to you to choose which one fits your needs the best. +First you need to choose the technology - queuing transport - to drive your queue. The are several options available at the moment. It's up to you to choose which one fits your needs the best. First you need to decide on a queuing transport to drive your queue. There are several options available at the moment. It's up to you to choose which one fits your needs the best. **Currently available transports:** @@ -522,15 +522,20 @@ See :xref:`queue-amqp-transport` for the complete list of configuration options. Beanstalkd ---------- -The Beanstalkd transport requires a running :xref:`Beanstalkd` service and a composer dependency installed via ``composer require symfony/beanstalkd-messenger``. +The Beanstalkd transport requires a running :xref:`Beanstalkd` service and a Composer dependency installed via ``composer require symfony/beanstalkd-messenger``. After installing the Composer dependency, you can fill in the configuration as follows. .. image:: images/queue-beanstalkd.png :width: 600 :alt: Example of Beanstalkd transport + +.. vale off + See :xref:`queue-beanstalkd-transport` for the complete list of configuration options. +.. vale on + Amazon SQS ---------- The Amazon SQS transport is ideal when hosting your Mautic instance on AWS. You need to install a Composer dependency via ``composer require symfony/amazon-sqs-messenger``. See the example of the configuration below. @@ -550,7 +555,7 @@ To start consuming the messages from the Queue, you need to run the following Sy php bin/console messenger:consume email -If you don't use Kubernetes in your environment, use a process manager like Supervisor or systemd to keep your worker(s) running. More on this at :xref:`queue-consuming-messages` +If you don't use Kubernetes in your environment, use a process manager like ``Supervisor`` or ``systemd`` to keep your worker/s running. More on this at :xref:`queue-consuming-messages` Advanced setting ================ From 7bcd68b7195719103a6c87adffc8dbf68d44ff9f Mon Sep 17 00:00:00 2001 From: Ruth Cheesley Date: Tue, 9 Jan 2024 18:06:06 +0000 Subject: [PATCH 09/11] Apply suggestions from code review --- docs/configuration/settings.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuration/settings.rst b/docs/configuration/settings.rst index 92ed1b71..b84a6bd0 100644 --- a/docs/configuration/settings.rst +++ b/docs/configuration/settings.rst @@ -493,7 +493,7 @@ Doctrine -------- This transport is easy to setup as it doesn't require installing any additional extension. It uses database table ``messenger_messages`` for storing messages (the table name can be changed via options). The screenshot below shows the basic settings. -It uses database table ``messenger_messages`` for storing messages - the table name can be changed via options. The screenshot below shows the basic settings. +It uses database table ``messenger_messages`` for storing messages - you can change the table name via options. The screenshot below shows the basic settings. .. image:: images/queue-doctrine.png :width: 600 :alt: Example of Doctrine transport From bd345a44675de5627795e43e4a8c8dad1d44cf5e Mon Sep 17 00:00:00 2001 From: Ruth Cheesley Date: Tue, 9 Jan 2024 18:08:23 +0000 Subject: [PATCH 10/11] Update docs/configuration/settings.rst --- docs/configuration/settings.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuration/settings.rst b/docs/configuration/settings.rst index b84a6bd0..76908fb0 100644 --- a/docs/configuration/settings.rst +++ b/docs/configuration/settings.rst @@ -502,7 +502,7 @@ See :xref:`queue-doctrine-transport` for the complete list of configuration opti Redis ----- -This transport requires the Redis PHP extension (>=4.3) and a running :xref:`Redis` server (^5.0). Once these requirements are met, the typical configuration looks as follows. +This transport requires the Redis PHP extension (>=4.3) and a running :xref:`Redis` server (^5.0). Once met, the typical configuration looks as follows. .. image:: images/queue-redis.png :width: 600 From da5ec8b377e89a39f1131da38183d9aaabfa74f8 Mon Sep 17 00:00:00 2001 From: Ruth Cheesley Date: Tue, 9 Jan 2024 18:10:38 +0000 Subject: [PATCH 11/11] Update docs/configuration/settings.rst --- docs/configuration/settings.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuration/settings.rst b/docs/configuration/settings.rst index 76908fb0..61c117c3 100644 --- a/docs/configuration/settings.rst +++ b/docs/configuration/settings.rst @@ -492,7 +492,7 @@ First you need to decide on a queuing transport to drive your queue. There are s Doctrine -------- This transport is easy to setup as it doesn't require installing any additional extension. -It uses database table ``messenger_messages`` for storing messages (the table name can be changed via options). The screenshot below shows the basic settings. +It uses database table ``messenger_messages`` for storing messages - you can change the table name via options. The screenshot below shows the basic settings. It uses database table ``messenger_messages`` for storing messages - you can change the table name via options. The screenshot below shows the basic settings. .. image:: images/queue-doctrine.png :width: 600