ETL: batch geocoding pipeline with rate limiting and resume support
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- Calme
- Stack technique
- php
- Domaine
- backend-api-design
Piste de recherche
Start by reading the SDK’s HttpTransportInterface and how Client accepts transports; those entry points are named in the issue, but no file paths or tests are provided. The scope depends on deciding whether retries belong in the core or an optional package and how checkpoint state should be stored. Done would require a settled design for retry/backoff and resume behavior across rate-limit signals.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Problem
When geocoding large address lists (10k+ records), the API rate limits kick in. There is currently no built-in mechanism in the SDK to handle this gracefully.
Typical pattern people try
$client = new Client($token);
foreach ($addresses as $addr) {
$result = $client->get('https://geocoding.openapi.com/geocode', ['address' => $addr]);
// if rate limit hit (429), this throws immediately and the whole batch is lost
}
What would help
A retry/backoff decorator on top of HttpTransportInterface:
use Openapi\Transports\RetryTransport;
$client = new Client($token, new RetryTransport(
maxRetries: 3,
backoffMs: 500,
retryOn: [429, 503]
));
And a checkpoint mechanism to resume from the last successful record.
Open questions
- Should
RetryTransportbe part of the core SDK or a separate optional package? - Should the checkpoint state be file-based, Redis-based, or left to the consumer?
- Is 429 the only rate-limit signal used across all Openapi endpoints?
- Langage dominant
- PHP
- Étoiles
- 20
- Forks
- 3
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de openapi/openapi-php-sdk
-
Improve PHPDoc Consistency Across the CodebasePeut-être à nouveau libre @Seraphim200001 l’a pris il y a 139 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
openapi/openapi-php-sdk#36 · 3 commentaires ·
-
enhancement help wanted
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
openapi/openapi-php-sdk#34 ·
-
good first issue question
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
openapi/openapi-php-sdk#33 · 2 commentaires ·
-
enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
openapi/openapi-php-sdk#32 ·
-
help wanted question
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
openapi/openapi-php-sdk#31 ·
Toutes les issues de openapi/openapi-php-sdk
Issues similaires
-
feature request
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Automattic/blocks-engine#2803 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
hestiacp/hestiacp#5798 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Bug Component: HTTP Component: Telemetry
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
woocommerce/woocommerce-google-analytics-integration#699 ·
Les mainteneurs répondent en général sous 1 jour