castomFLOW
castomFLOW ашу

Сенуге болатын іске қосулар

Ешкім автоматтандыруды ол бірдеңені екі рет жібергенге дейін байқамайды

Сонда бәрі байқайды. Осы беттегі төрт механизм осындай бағдарламалық жасақтаманың сәтсіздіктері әрқашан сол төрт сәтсіздік болатыны және олардың бәрін абайлықпен емес, жобалау арқылы болдырмауға болатыны үшін бар.

Жарияламай тұрып модельдеңіз

Өшірілген workflow арқылы нақты жазбаны жіберіп, не болар еді — өткен жолды, әр қадамдағы әр мәнді, әр хабарламаның мәтінін және әр сыртқы жүйеге барар сұранысты — дәл сол күйінде қайта оқыңыз.

Ештеңе сыртқа шықпайды. Электрондық хат жіберілмейді, есеп-фактура құрылмайды, төлем талап етілмейді, жол жазылмайды. Сыртқы қоңыраулар жіберілген пакетімен бірге ниет ретінде тіркеледі, сондықтан салыстыру дұрыс па екенін ол біреудің мәселесіне айналмай тұрып көре аласыз.

Симуляция — адамдарды автоматтандыруды қосудан тоқтататын сұраққа жауап беру тәсілі: бұл шын мәнінде не істейді?

Симуляция · 88 214 тапсырысЕштеңе жіберілмеді
  • 1Мекенжайды тексеруСәйкестенді. 6 өріс жазылар еді.
  • ?ШартТапсырыс 1 000 zł-дан асады ма? Жоқ — 289,00 zł. Қысқа жол таңдалды.
  • 3Шот-фактураШот-фактура жүйесіне POST сұранысын жібермек едік. Толық payload көрсетілген.
  • !Осы жерде ұсталдыҚҚС мөлшерлемесі бұрынғы өрістен алынған. Бухгалтердің поштасында емес, симуляцияда табылды.

Жіберілді: ештеңеАлынды: ештеңе

Әр іске қосу өзі кірген нұсқамен жүреді

Жұмыс ағынына өзгеріс жариялау оның ішінде қазір жүріп жатқан іске қосуларға тиіспейді. Әр іске қосу басталған нұсқасына бекітілген және қанша уақыт алса да, сіз соған дейін қаншалықты қайта жазсаңыз да, сол нұсқамен аяқтайды.

Сондықтан он мың адам жұмыстың ортасында тұрғанда да жұмыс ағынын қайта құра аласыз, және олардың әрқайсысы өзіне уәде етілген ағынды аяқтайды. Балама — бүкіл кейінгі жолды кіру кезінде материалдандыратын дизайн — көптеген құралдарда жұмыс істеп тұрған автоматтандыруды өңдеу қауіпті сезілетінінің себебі. Мұнда бұл қарапайым жайт.

Жариялаған сәттен бастап жаңа іске қосулар жаңа нұсқаны алады. Іске қосу қай нұсқада екені оның өзіне жазылады, сондықтан наурыздағы мінез-құлық туралы сұрақтың қыркүйекте де жауабы бар.

Жұмыс кезінде өңдеуv4 → v5
  • 1Дейін2 918 іске қосу жүріп тұр, барлығы v4 нұсқасында. Кейбіреулері екі күндік күтуде.
  • 2v5 нұсқасын жариялауЕкі қадам орын ауыстырды, бір хабарлама қайта жазылды.
  • 3КейінОсы 2 918 іске қосу v4 нұсқасын аяқтайды. 11:40-тан бастап басталғандар v5 нұсқасын жүргізеді.
  • §Ешкімбір жұмыс ағынының жартысын және басқасының жартысын алмады.

Әр іске қосуда нұсқа жазылғанЕскі нұсқалар сақталған

Қайта жіберілмейтін қайталаулар

Қадам — бұл кірістерінің таза функциясы, ал оның әсерлері іске қосудың келесі қадамға өтуімен бірге жазылады. Хабарлама жіберілген, бірақ іске қосу білмейтін мұндай сәт жоқ.

Бұл — бүкіл амал, және ол уәде емес, құрылымдық қасиет. Қадамның ортасында өлтірілген жұмысшы — deploy, апат, жоғалып кеткен машина — іске қосуды дәл қалған жерінде қалдырады. Басқа жұмысшы оны алып, қадамды қайта орындайды. Әсер мен өту бірге жазылғандықтан, не екеуі де орындалды, не ешқайсысы орындалмады.

Идемпотенттік кілттерді қолдайтын жүйелерге шығатын сұраныстар іске қосу мен қадамнан шығатын кілт алып жүреді, сондықтан қабылдаушы жақ та қайталануды тани алады.

Жіберіп жатқанда жұмысшы өлдіҚалпына келтірілді
  • 15-қадам басталдыЖөнелту туралы хабарламаны жіберіңіз.
  • ✕Жұмысшы өледіDeploy. Ештеңе жазылмады.
  • 2АлындыБасқа жұмысшы іске қосуды әлі 5-қадамда тапты.
  • ✓Бір рет жіберілдіТұтынушы бір электрондық хат алды, екеу емес.

Әсерлер өтумен бірге жазыладыӘр іске қосу мен қадамға идемпотенттік кілт

Адам оқуы үшін жазылған журнал

Әр іске қосу, әр қадам, таңдалған бұтақ және оны шешкен мән. Әр қадамның уақыттары. Әр сыртқы сұраныстың request және response-ы, тіркелгі деректері жасырылған. Іске қосу болған нұсқа. Іске қосу қайда күтуде және қашанға дейін.

Он төртіншіде берілген тапсырысқа не болды деп біреу сұраса, жауап бар, оны табу бір минут алады — үш жүйенің логтарын салыстырумен өтетін түстен кейін емес.

Сәтсіз аяқталған жұмыстар бір жерде жиналады, себебі топтастырылған, сондықтан «түнде қырық бір сәтсіздік» деген «бір жеткізуші тоғыз минут бойы 503 қайтарды» дегенге айналады — қырық бір бөлек тергеу емес.

Түнде, топтастырылған41 сәтсіздік
  • 1Бір себепЖеткізуші API 02:41 мен 02:50 аралығында 503 қайтарды.
  • 2Не болдыБарлығы 41 қайта жіберілді; 39-ы екінші әрекетте сәтті аяқталды.
  • 3ҚалғандарыЕкеуі тоқтап, адамды күтуде. Екеуі де сәтсіз аяқталған жолмен бірге тізімде көрсетілген.
  • §Қырық бір еместергеу. Бір ғана, және екі жазба туралы шешім.

Тіркелгі деректері жасырылғанНұсқа жазылған

Не деп кепілдік бермейміз

Біз маркетингтік бетте жұмыс уақыты көрсеткішін жарияламаймыз, өйткені өлшеу кезеңі мен «жұмыс істеп тұр» анықтамасыз сан — бұл тек безендіру. Егер ол сізге шарт бойынша қажет болса, сұраңыз, біз нақты неге кепілдік бере алатынымыз туралы сөйлесеміз.

Біз басқа біреудің API сенімді ете алмаймыз. Егер жеткізуші істен шықса, оған тәуелді жұмыс ағыны күтеді, қайта жібереді және ақыры анық себеппен тоқтайды. Біз уәде бере алатынымыз — сәтсіздік көрінетін болады, ол ештеңені бұзбайды және қайта жалғастыру хабарламаны екінші рет жіберіп қоймайды.

Күту туралы: екі күн күткен жұмыс — бұл кезекте тұрған тапсырма емес, жұмыстағы wake_at белгісі. Сондықтан жұмыс ағыны үш апталық күтуде жүз мың жұмысты ешқандай шығынсыз ұстай алады және қазір қанша жұмыс күтіп тұрғанын ойлаудың қажеті жоқ.

Ешқашан ойламайтын жұмысыңыз — сәтті аяқталғаны.