패키지, 저장소 및 앱 카테고리 검색

패키지 상세v3.1.2

retry

네트워크를 통해 요청할 때 유용한 비동기 함수를 자동 재시도 로직과 지수 백오프로 래핑하는 유틸리티입니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
261만
좋아요
1.2천
Pub 점수
160

패키지 설치

flutter pub add retry

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

재시도 패키지는 지수 백오프를 사용하여 비동기 함수에 자동 재시도 로직을 적용하는 간단한 유틸리티를 제공합니다. 연결 문제로 인해 일시적으로 실패할 수 있는 네트워크 요청에 특히 유용합니다. 함수를 재시도 로직으로 감싸면 개발자는 수동으로 재시도 메커니즘을 구현하지 않고도 강건성을 보장할 수 있습니다. 이 패키지는 가볍고 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 neat pub 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.

Package Description Version Test
acyclic_steps An explicit acyclic step dependency framework with concurrent evaluation and dependency injection. pub package acyclic_steps
canonical_json Encoder and decoder for a canonical JSON format, useful when cryptographically hashing or signing JSON objects. pub package canonical_json
chunked_stream Utilities for working with chunked streams, such as byte streams which is often given as a stream of byte chunks with type Stream<List<int>>. pub package chunked_stream
dartdoc_test Utilities for testing code snippets embedded in documentation comments. pub package dartdoc_test
http_methods List of all HTTP methods registered with IANA as list of strings, and metadata such as whether a method idempotent. pub package http_methods
neat_cache A neat cache abstraction for wrapping in-memory or redis caches. pub package neat_cache
neat_periodic_task Auxiliary classes for reliably running a periodic task in a long-running process such as web-server. pub package neat_periodic_task
pem PEM encoding/decoding of textual keys following RFC 7468, supporting both lax/strict-mode, and certificates chains of concatenated PEM blocks. pub package pem
retry Utility for wrapping an asynchronous function in automatic retry logic with exponential back-off, useful when making requests over network. pub package retry
safe_url_check Check if an untrusted URL is broken, without allowing connections to a private IP address. pub package safe_url_check
sanitize_html Function for sanitizing HTML to prevent XSS by restrict elements and attributes to a safe subset of allowed values. pub package sanitize_html
slugid A URL-safe base64 encoding for UUIDv4 stripped of padding. Useful when embedding short random UUIDs in URLs. pub package slugid
typed_sql Package for doing SQL with some type safety. pub package typed_sql
vendor Utility for vendoring packages into a project and rewriting import/export statements. pub package vendor

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.

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트

순위