#retry — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #retry, aggregated by home.social.
-
A quotation from Josh Billings
I aint no disgrace for a man to fall, but to lay thare, and grunt, iz.
[It ain’t no disgrace for a man to fall, but to lay there, and grunt, is.]Josh Billings (1818-1885) American humorist, aphorist [pseud. of Henry Wheeler Shaw]
Josh Billings’ Farmer’s Allminax, 1876-06 (1876 ed.)More about this quote: wist.info/billings-josh/84412/
#quote #quotes #quotation #qotd #joshbillings #capitulate #concede #error #failure #falling #getbackup #givingup #inaction #mistake #persistence #recover #resign #resignation #resolve #retry #surrender #tenacity #yielding
-
Повторная обработка сообщений в Kafka Consumer
Привет! Меня зовут Дмитрий Михеев, я ведущий разработчик в MAGNIT OMNI — бизнес-группе ритейлера «Магнит», которая отвечает за развитие омниканального опыта для клиентов. В своих сервисах для межсервисных коммуникаций помимо gRPC-запросов мы используем брокер сообщений Kafka. Если описывать его в двух словах, Kafka — это распределённый журнал событий (event log), через который сервисы обмениваются данными в реальном времени. Не буду подробно останавливаться на устройстве Kafka — это хорошо описано в документации. В этой статье хочу подсветить один неочевидный момент, который может привести к проблемам при работе с consumer’ами — повторную обработку сообщений (retry).
https://habr.com/ru/companies/magnit/articles/1043068/
#kafka #apachekafka #kafkaconsumer #retry #повторнаяобработка #идемпотентность #высоконагруженныесистемы #java
-
Outbox-паттерн для мобильного мессенджера: как Telegram не теряет сообщения и почему ваш код их теряет
Это седьмая статья про инженерные решения в ONEMIX. Тема узкая, но болезненная для каждого кто делал мобильное приложение с отправкой сообщений или файлов. Сценарий с которого всё началось у меня. Пользователь в чате выбирает большое видео, нажимает отправить. Видео начинает грузиться. Пользователь нетерпеливый, прокручивает вверх посмотреть переписку, потом переходит в другой чат, потом возвращается. Что должен он увидеть? В Telegram он увидит свой видео-бабл с прогрессбаром, как и оставил. В большинстве самописных мессенджеров он увидит пустой чат без своего сообщения , потому что upload жил в state экрана, а экран размонтировался. XHR продолжал работать в фоне, файл загрузился на сервер, но результат пришёл в null, потому что setter уже не существует. Сообщение фактически отправлено, но пользователь об этом не знает. Это боль которая лечится не "правильным useState", а отдельным архитектурным слоем . Этот слой называется outbox. В этой статье разберу свою реализацию из ONEMIX, это 820 строк TypeScript которые делают то что в Telegram кажется естественным.
https://habr.com/ru/articles/1034690/
#react_native #мессенджер #optimistic_update #outbox #мобильная_разработка #архитектура #telegram #асинхронность #обработка_ошибок #retry
-
Postgres advisory locks на Neon ломаются от TCP-сброса. История четырёх фиксов retry-логики
Расскажу про четыре production-инцидента на одном куске кода за десять дней. В каждом я думал, что разобрался. Закончилось тем, что я выкинул pg_advisory_lock из retry-пути и поставил FOR UPDATE SKIP LOCKED . Day-generation лок остался advisory-ным, но утечка там не критична - почему именно, разберу в конце. Полезно, если у вас Postgres на Neon (или Supabase, или Aiven serverless) и где-то по коду есть session-scoped advisory locks для координации задач между репликами.
https://habr.com/ru/articles/1031236/
#postgresql #advisory_lock #neon #serverless #retry #идемпотентность #distributed_lock
-
Circuit breaker на Go: пишем свой за 100 строк и разбираем, почему gobreaker работает иначе
Когда один зависимый сервис начинает отвечать медленнее, проблема быстро перестает быть локальной: горутины ждут, соединения заканчиваются, таймауты разъезжаются по всей цепочке. Circuit breaker помогает остановить этот каскад до того, как он положит соседние части системы. В статье разберем, как написать простой breaker на Go примерно за 100 строк, где у такой реализации границы применимости и почему production‑библиотека gobreaker устроена гибче.
https://habr.com/ru/companies/otus/articles/1029182/
#Circuit_breaker #Go #Golang #gobreaker #отказоустойчивость #таймауты #retry #микросервисы #downstreamсервисы #планировщик_Go
-
Spring, kafka, неблокирующий retry, лаги
История об особенностях использования механизмов retry , которые дает spring-kafka из коробки и проблемах с производительностью. Есть нужно сделать асинхронный retry сообщений на топике, который бы не блокировал основной поток сообщений «легко и быстро» — вам сюда😊 (А потом после «легко и быстро» несколько дней дебажить 🤔 )
-
Когда стойка умирает, а 5xx остаётся нулевым. Разбор скрытой деградации PostgreSQL
09:12 — db-replica-02 connection timeout HTTP 5xx = 0.2% HAProxy зелёный p50 = 38-42ms Replica в другой стойке недоступна Отказоустойчивость потеряна Инцидент не объявлен Читать разбор
https://habr.com/ru/articles/1002056/
#PostgreSQL #отказоустойчивость #деградация #retry #HAProxy #PgBouncer #ToR #инцидент #latency #SRE
-
Я почувствовал себя клоуном, подключая 5 библиотек ради устойчивого API-клиента
Если ваш API-клиент выглядит как башня декораторов — вы уже в зоне инженерной боли. Рассказываю, как я из этого выбрался.
-
Одно кольцо, чтобы повелевать остальными: собираем лимитирование, ретраи и circuit breaker в одной библиотеке
Я чувстовал себя клоуном подключая 5ю библиотеку для написания устойчивого к ошибкам API клиента. После этого я написал библиотеку объединяющую все воедино. Мотивация и история архитектурных решений.
https://habr.com/ru/articles/992902/
#отказоустойчивость #отказоустойчивые_решения #отказоустойчивые_системы #отказоустойчивая_архитектура #python #ratelimiting #retry #pypi
-
[Перевод] Первый взгляд на новые фоновые задачи в Django 6.0
Команда Python for Devs подготовила перевод статьи о новых фоновых задачах в Django 6.0. Фреймворк наконец получил встроенный API для очередей задач — но без воркеров, так что чудес пока ждать рано. Автор показывает, зачем это обновление всё равно важно, как оно работает внутри и что можно построить поверх него уже сегодня.
https://habr.com/ru/articles/972320/
#Django #задачи #backend #worker #очередь #выполнение #retry
-
A quotation from Charles Kettering
[T]he more education a man has, the less likely he is to invent new things. Possibly this is because from the moment the boy or girl starts in school he or she is examined three or four times a year and a failure or two and he or she is out. Now because an inventor works differently, he thinks that’s all wrong. He knows he’ll never go far on any problem before he strikes snags. He may flunk 999 times but if on his 1,000th try he succeeds, he wins! The only time you don’t want to fail is the last time you try a thing.
Charles F. Kettering (1876-1958) American inventor, engineer, researcher, businessman
Essay (1952-01), “Don’t Be Afraid to Stumble,” The Rotarian, Vol. 80, No. 1More info about this quote: wist.info/kettering-charles/30…
#quote #quotes #quotation #qotd #kettering #charleskettering #again #attempt #experimentation #fail #failure #faultanalysis #learning #perseverance #repetition #retry #success #testing #trialanderror #try #failforward
-
Oh, joy! 🤦♂️ Yet another command-line tool that lets you #retry that command you *already* know is going to fail. Because obviously, the solution to bad code is to make it fail faster! 🚀 Why fix bugs when you can just keep smashing your head against the keyboard with style? 🧨
https://github.com/MaxBondABE/attempt #commandline #tools #badcode #failfast #codinghumor #developerlife #HackerNews #ngated -
Attempt – A CLI for retrying fallible commands
https://github.com/MaxBondABE/attempt
#HackerNews #CLI #Retry #Commands #Attempt #Fallible #GitHub
-
Safe-fetch 1.0: от библиотеки к экосистеме за 72 часа
Продолжение статьи о safe-fetch — библиотеке без try/catch для HTTP. Через день после первой публикации произошла эволюция: stable релиз 1.0 + экспериментальный адаптер для React Query. Рассказываю, как фидбек сообщества превратил простую обертку в экосистему с монорепо. Что нового в релизе
https://habr.com/ru/articles/944362/
#javascript #typescript #fetch #reactquery #http #frontend #opensource #retry #timeout
-
Хватит писать try/catch вокруг fetch: история о том, как я устал ловить ошибки
Каждый фронтендер знает эту боль: пишешь запрос через fetch - и автоматически добавляешь try/catch . Где-то ловишь TypeError , где-то 500-й статус, где-то подвисший запрос с AbortController . В итоге половина кода в проекте - это обработка ошибок, а не бизнес-логика. Я прожил с этим годами. Чем больше становился проект, тем больше росла копипаста: таймауты, ретраи, проверки на res.ok , костыли для разных браузеров. Одно и то же, снова и снова. И вот в какой-то момент я понял: проблема не в том, что ошибки случаются. Проблема в том, что сам fetch вынуждает нас ловить их вручную, каждый раз, в каждом запросе. Так появилась библиотека @asouei /safe-fetch . Маленькая (3kb), без зависимостей, но с тем, чего нет у самого fetch : общий таймаут, умные ретраи, нормализованные ошибки и поддержка Retry-After . 🌟 Библиотека добавлена в Awesome TypeScript — один из крупнейших мировых списков лучших TypeScript-проектов Как я решил проблему
https://habr.com/ru/articles/943732/
#fetch #javascript #typescript #обработка_ошибок #http_запросы #retry #timeout #frontend #axios #open_source
-
Retry в Go: От граблей к дзену отказоустойчивости
В этой статье мы пройдем путь от самых наивных и опасных способов реализации ретраев в Go до построения гибкого и надежного механизма, который можно использовать каждый день. Мы рассмотрим ключевые паттерны , антипаттерны и готовые решения.
https://habr.com/ru/articles/903576/
#Go #golang #web #backend #разработка #стандарты #retry #база
-
Fireside Fedi Episode 2 Feb 8th 1300 EST / 1800 UTC - with my special guest @Mrfunkedude ! Take 2!
Join us LIVE on #Owncast at https://stream.firesidefedi.live .
Catch the #VOD afterwards on #Peertube https://video.firesidefedi.live.
#FsF #interview #people #streaming #fediverse #Fedi #LIVE #chat #relaxing #fun #funny #FiresideFedi #retry #uplifting -
Эпическое программирование: пишем понятные и поддерживаемые саги
В мире микросервисов часто возникает необходимость сделать согласованные изменения в сервисах. Один из надёжных способов добиться этого — использовать паттерн «Сага», который помогает выполнять распределённые транзакции и при сбоях корректно откатывать изменения. Но, как всегда, есть нюансы, начиная от нереалистичных материалов на эту тему и заканчивая реальным опытом использования. Алексей Бакин занимается разработкой внутренних продуктов. Один из них — это API-прокси, предоставляющее внешние API для внутренних сервисов. Для реализации этого решения использовали паттерн «Сага».
https://habr.com/ru/companies/oleg-bunin/articles/877676/
#golang #сага #хореография #оркестрация #cтруктурный_подход #pivot #retry #panic #идемпотентность #пример_кода
-
Best Practices по подключению к сторонним API в проекте
При разработке больших web-проектов нам часто приходится взаимодействовать с API сторонних или внутренних микросервисов. Когда количество таких взаимодействий растёт, настройки вызовов к другому API и подробности самих вызовов кратно множатся и могут растекаться по проекту. В Домклике у нас микросервисная архитектура, и каждому сервису приходится взаимодействовать с десятком других. Чтобы межсервисное взаимодействие было предсказуемым, надёжным, удобным и отслеживаемым, мы следуем ряду практик при разработке, и в этой статье я расскажу вам о них. Узнать лучшие практики
https://habr.com/ru/companies/domclick/articles/802833/
#api #json #timeout #retry #ruby_on_rails #refactoring #microservices
-
Использование resilience4j со Spring Boot
resilience4j библиотека, предоставляющая набор инструментов для повышения надежности и отказоустойчивости java приложений прежде всего в микросервисной архитектуре Рассмотрим какие в ней есть инструменты, как их использовать в Spring Boot приложении с помощью аннотаций, как настраивать и есть ли в них подводные камни
https://habr.com/ru/articles/793550/
#resilience4j #отказоустойчивость #java #spring_boot #spring_framework #circuit_breaker #rate_limiter #retry #webflux #hystrix
-
CW: not screenreader friendly, code
Instead of writing complicated try-catch constructs to #retry things, using auto-retrying function #decorators certainly changed my life to the better.
This is using #SQLAlchemy & the #backoff library https://pypi.org/project/backoff/ to retry generating a unique token, in the rare event that we chose a token that’s already in the database. On an IntegrityError, the function will “call itself” again.
(Event hooks & exponential backoff are available too.)
-
Today I've intercepted the let #bang... return (or maybe return!) of #task computation trying with #typesafe active #patterns for #regex to intercept the "retry after n seconds" message from #openai #embeddings while chunking an array of #async task api calls.
#FSharp at work!
The beautiful thing is that you resolve the #retry concern being safe that functional programming guarantees the code decoupling and all the rest remains ok 👌as before and you still have embarrassingly parallel solution.
-
@es @joolia admittedly my reply #failedToFetch on first click, so I am used to hitting #retry here :)
-
#retry is a program rerunner.
retry captures stdin and runs a program with the given stdin repeatedly until it finishes successfully. retry prints the output of the program to stderr if it is unsuccessful, or stdout if it is successful. retry is useful for complex pipelines with unreliable links.
Website 🔗️: https://github.com/minfrin/retry
apt 📦️: retry