apache / apache/pulsar-client-cpp

[question] python jsonschema cant inheritance

Ouverte
#106 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
C++
Étoiles
71
Forks
90
Merge moyen
2 h 33 min
PR mergées (30 j)
3

Description

# schema
```python3

class BaseTaskOperateMsg(Record):
task_ids = Array(Integer())

class TaskOffline2OnlineMsg(BaseTaskOperateMsg):
pass
```

# producer
```python3
client = pulsar.Client("pulsar://localhost:6650")
producer = client.create_producer(
topic="taskOffline2Online1",
schema=JsonSchema(TaskOffline2OnlineMsg),
)
msg = TaskOffline2OnlineMsg(task_ids=[1, 2])
producer.send(msg)
client.close()
```

# consumer
```python3
client = pulsar.Client("pulsar://localhost:6650")

consumer = client.subscribe("taskOffline2Online1", "sub1", schema=JsonSchema(TaskOffline2OnlineMsg))

while True:
msg = consumer.receive()
try:
print("Received message '{}' id='{}'".format(msg.data(), msg.message_id()))
print(msg.value())
# Acknowledge successful processing of the message
consumer.acknowledge(msg)
except Exception:
# Message failed to be processed
consumer.negative_acknowledge(msg)
break
```

when using TaskOffline2OnlineMsg, i cant get task_ids.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par reproduire l’exemple de producteur et de consommateur en utilisant JsonSchema(TaskOffline2OnlineMsg), y compris le champ task_ids hérité. Examinez la manière dont l’implémentation Python du schéma traite TaskOffline2OnlineMsg et BaseTaskOperateMsg, puis vérifiez si le consommateur peut récupérer task_ids et documentez le résultat ou identifiez la correction requise.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
distributed-systems
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.