PHP examples: add a sink data producer
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 88/100
Línea de trabajo
Lee examples/python/sink-data-producer/producer.py para consultar los campos del registro y los tamaños de lote; después, sigue examples/php/message-envelope/producer.php y examples/php/src/common.php para ver la configuración de PHP y las llamadas de envío. Añade el productor en examples/php/sink-data-producer/producer.php y documéntalo en examples/php/README.md después de “Message Envelopes.” Se considera terminado cuando crea el stream y el topic si faltan, envía 100 lotes, registra el total y el comando del README se ejecuta correctamente contra un servidor nuevo.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
The Rust, Java, Node and Python examples include a sink data producer, which fills a topic with JSON records so a sink connector has something to read. The PHP examples have none.
Affected area / component
PHP examples
Proposed solution
Add examples/php/sink-data-producer/producer.php and a "Sink Data Producer" section in examples/php/README.md, after "Message Envelopes".
- Take the record fields and batch sizes from
examples/python/sink-data-producer/producer.py, and build the JSON withjson_encode. examples/php/src/common.phpalready does the setup:iggy_client()(which readsIGGY_CONNECTION_STRING, orIGGY_HOST,IGGY_PORT,IGGY_USERNAMEandIGGY_PASSWORD),ensure_stream_and_topic()andsend_payloads().examples/php/message-envelope/producer.phpshows them in use.- Add only
IGGY_STREAM(defaultqw) andIGGY_TOPIC(defaultrecords), and say in the README that the connection settings are the PHP ones, not theIGGY_ADDRESSof the other SDKs. - The producer creates the stream and topic if they are missing, sends 100 batches of 100 to 499 records, logs the total and exits.
- Use the same
php -d extension="${PHP_IGGY_EXTENSION:-...}"form as the other README commands, so the README script runs it in CI.
New PHP SDK calls are out of scope (#3302 tracks parity).
How to test: build the extension (cargo build in foreign/php), start a fresh server (cargo run --bin iggy-server -- --fresh --with-default-root-credentials), run the README command, and poll a few messages back.
Good first issue
- I think this could be a good first issue for a new contributor
- Lenguaje dominante
- Rust
- Estrellas
- 5.2k
- Forks
- 516
- Merge medio
- 2 d 12 h
- PR fusionados (30 d)
- 145
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Incluye un Dockerfile o un 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 apache/iggy
-
docs good first issue php
Dificultad 1/5 1-3 horas Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
good first issue javascript test
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
good first issue javascript test
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
good first issue javascript test
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
good first issue javascript test
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
Todos los issues de apache/iggy
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
Los mantenedores suelen responder en 1 día
-
bug(core): partial tool arguments drop existing string content during a split surrogate pairAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
0xPlaygrounds/rig#3176 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Publish memtop on crates.ioAbiertopackaging
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
SalomonAvila/memtop#23 ·
Los mantenedores suelen responder en 1 día
-
Anthropic provider: 400 on tools.N.custom.name after tool_search adds web.run (name contains a dot)Abiertoarea:install area:mcp area:state area:tui os:macos
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100