재시도 패키지는 지수 백오프를 사용하여 비동기 함수에 자동 재시도 로직을 적용하는 간단한 유틸리티를 제공합니다. 연결 문제로 인해 일시적으로 실패할 수 있는 네트워크 요청에 특히 유용합니다. 함수를 재시도 로직으로 감싸면 개발자는 수동으로 재시도 메커니즘을 구현하지 않고도 강건성을 보장할 수 있습니다. 이 패키지는 가볍고 Dart 애플리케이션에 원활하게 통합될 수 있도록 설계되었습니다. Android, iOS, Web, macOS, Windows, Linux를 포함한 모든 주요 플랫폼을 지원합니다.
사용 사례
네트워크 요청 회복력
API 호출 재시도
임시 서비스 장애
백그라운드 작업 신뢰성
데이터베이스 작업 재시도
스트리밍 데이터 복구
주요 기능
지수 백오프 전략
오류 발생 시 자동 재시도
사용자 지정 재시도 횟수
async/await 지원
경량이며 최소한의 종속성
Platform-agnostic
적합한 대상
네트워크 집약형 앱
클라우드 서비스 통합
오프라인 우선 애플리케이션
마이크로서비스 통신
실시간 데이터 동기화
고가용성 시스템
고려 사항
장애 발생 시 지연이 증가할 수 있습니다
주의 없이 동일 연산에 적합하지 않습니다
재시도 제한을 신중하게 구성해야 합니다
오용될 경우 자원 고갈로 이어질 수 있습니다
타임아웃 처리와 가장 잘 어울리는
적절한 오류 처리를 대체해서는 안 됩니다
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
Dart Neats
A collection of a small neat packages for dart.
Disclaimer: This is not an officially supported Google product.
This repository is meant as a playground where small neat packages are
cultivated. If package grows too large and complex and needs a dedicated issue
tracker it should be moved to a dedicated repository.
Each folder in this repository contains a neatpub package. This project
aims to use a separate package whenever it makes sense to have an independent
major version. This often means splitting functionality into separate packages,
which can be reused independently.
Utility for vendoring packages into a project and rewriting import/export statements.
Repository Management
Packages in this repository uses pub workspaces
a single dart pub get will resolve dependencies for all of them.
Configuration of Github Actions, issue templates, issue labels, etc is automated
with scripts in tool/.
Contributing
We love patches and contributions, please refer to CONTRIBUTING.md for
technicalities on CLA and community guidelines. As this project aims to
build neat packages using other neat packages we might also accept proposals
for new neat packages, though it's often easier to publish independently.
License
Unless stated otherwise contents in this repository is licensed under
Apache License 2.0, see LICENSE.