Мөөнөтү бүткөн ал жөнөтүү ишиңизди чын эле сактадыбы?
Браузердин катасы жооп келбегенин далилдейт, жазуу ийгиликсиз болгонун эмес. Текстти сактаңыз, колдонмодон жыйынтыкты табыңыз, анан кайталоо коопсузбу экенин чечиңиз.
Баскыч айланып турат, өтмөк ката көрсөтөт, ал эми он мүнөт толтурган формаңыз жоголду. Билбей жатканыңыз — байланыш үзүлгөнгө чейин жазуу жеттиби. Ушул белгисиздикти ийгиликсиздик деп кабыл алуу кайталанган комментарийлерди, кош заказдарды жана кайталануучу колдоо билеттерин жаратат.
Белгиленген тартипте калыбына келтириңиз: текстти сактап калыңыз, жыйынтыкты табыңыз, анан гана экинчи жөнөтүүгө уруксат барбы экенин чечиңиз.
Тексттен жана убакыт белгисинен баштаңыз
Башка нерсеге кол тийгизбестен мурун мазмунду барактан көчүрүңүз, браузер дагы талаада кармап турган долбоорду кошкондо. Убакытты, кайсы баракта болгонуңузду жана жасаган аракетиңизди жазып алыңыз, анткени калган текшерүүнү ушул үч деталь гана мүмкүн кылат. Өтмөк дагы ачык болсо, тармак жазуусун окуганга чейин ачык калтырыңыз. Текстти сактоо эч нерсеге турбайт, ал эми аны жоготуу бүт тапшырмага турат.
Анан чын эле байкоого боло турган эки бузулуу түрүн ажыратыңыз. Сурамдын ортосунда үзүлгөн байланыш жана ката менен жооп берген сервер тармак панелинде башкача көрүнөт, жана колдонмонун чечими тууралуу экинчиси гана бир нерсе айтат.
Жыйынтыкты колдонмонун өз көрүнүшүнөн издеңиз
Жыйынтыкты көрсөтө турган окуу көрүнүшүн кайра жүктөңүз: комментарийлердин тизмеси, заказдардын тарыхы, билет кезеги же түзөтүп жаткан жазуу. Эң акыркы жазууга эмес, эсеп, барар жер, убакыт жана мазмун боюнча салыштырыңыз, анткени сизден кийин башка бирөө жазган болушу мүмкүн. Фондук тапшырма үчүн байланыш сынагы катары жаңы операция түзбөй, бар шилтеме менен анын абалын издеңиз.
Жыйынтык ошол жерде болсо, бүттүңүз жана ката жазууга эмес, жооп жолуна таандык. Болбосо, колдонмо аны дагы бекемдебеген болушу мүмкүн деген ыктымалдыкты сактаңыз: кезектеги тапшырма, кечиккен окуу көрүнүшү же артта калган көчүрмө ийгиликтүү жазууну бир аз убакытка жашыра алат.
Кортунду чыгарбастан мурун ага белгиленген экинчи көз карашты бериңиз жана эки текшерүүнүн убактысын жазыңыз. Жыйырма секунд аралыктагы эки текшерүү он мүнөт аралыктагы эки текшерүүгө караганда алда канча алсыз далил.
Экинчи жөнөтүүнүн коопсуздугун чечиңиз
Жооп операцияга байланыштуу, сиздин чыдамкайлыгыңызга эмес. HTTP бирдей көздөлгөн таасир менен кайталаса боло турган ыкмаларды мүмкүн болбогондордон ажыратат жана экинчи түрдү автоматтык кайталоого каршы кеңеш берет, эгер семантика уруксат берери белгисиз болсо. Комментарий түзүү, заказ берүү жана төлөм жөнөтүү адатта экинчи топко кирет, ошондуктан ийгиликтүү көрүнгөн экинчи басуу биринчиси тууралуу эч нерсе айтпайт.
Клиентти сиз тейлесеңиз, API документтештирген кайталоо же идемпотенттик механизмин колдонуңуз жана ар бир аракет үчүн жаңы ачкыч жаратуунун ордуна аны ошол эле логикалык операцияга байлаңыз. Көзөмөлдөө үчүн колдонулган сурам идентификатору кайталанмаларды басуу ачкычы эмес, эгер сервер аны ошентип кабыл албаса.
curl -i -X POST https://api.example.net/v1/orders \
-H "Idempotency-Key: 6f1c2a94-3b7e-4a10-9c22-5d0e8f7b1a63" \
-H "Content-Type: application/json" \
--data @order.jsonАчкыч кызмат аны операция менен бирге сактап, кайталоодо баштапкы жыйынтыкты кайтарса гана жардам берет. Өндүрүштө ага таянбастан мурун бул жүрүм-турумду сыноо акыркы чекитинде текшериңиз.
Дагы бир нерсени баспас мурун далил жыйнаңыз
Катанын скриншотунун ордуна тармак жазуусун сактаңыз. Сурам ыкмасы, URL, жооп же убакыт чеги жана болгон убактысы — администратор колдонмонун жазуулары менен салыштыра алган нерсе ушул. Жазууну буйрук катары экспорттоо же көчүрүү, эгер кийин көчүрмөдөн cookie файлдарды, авторизация аталыштарын жана ар кандай жеке мазмунду алып салсаңыз гана болот. Өз сессияңызды бүтүн калтырыңыз жана кармалган, күбөлүктөрү бар сурамды кыска жол катары эч качан кайталабаңыз.
Кызматтын ээсине бир так суроо бериңиз: ушул мазмун менен ушул убакта операция ийгиликтүү болдубу жана ага шилтеме барбы? Бул суроонун жообу бар, ал эми "сайт бузулдубу" дегендин жообу жок.
Бул көнүгүүнүн маңызы — аракет так бир жолу болгонун аныктоо. Жаба турган ката билдирүүсү ишене турган жазуу менен бирдей эмес, ал эми дагы бир нерсе жөнөтүүдөн мурун сизге экинчиси керек.