ETL: batch geocoding pipeline with rate limiting and resume support
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
- Stack tecnológico
- php
- Área
- backend-api-design
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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?
- Lenguaje dominante
- PHP
- Estrellas
- 20
- Forks
- 3
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de openapi/openapi-php-sdk
-
Improve PHPDoc Consistency Across the CodebaseQuizá libre de nuevo @Seraphim200001 la tomó hace 143 días y no hay ningún pull request abierto. Abiertohacktoberfest help wanted
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
openapi/openapi-php-sdk#36 · 3 comentarios ·
-
enhancement hacktoberfest help wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
openapi/openapi-php-sdk#34 ·
-
good first issue hacktoberfest question
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
openapi/openapi-php-sdk#33 · 2 comentarios ·
-
enhancement hacktoberfest
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
openapi/openapi-php-sdk#32 ·
-
hacktoberfest help wanted question
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
openapi/openapi-php-sdk#31 ·
Todos los issues de openapi/openapi-php-sdk
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
grokability/snipe-it#19857 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 92/100
Los mantenedores suelen responder en 1 día
-
Authentication / Authorization Feature: Volunteer
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
bagisto/bagisto-api#51 ·