Implement generate_events_with_long_polling for enterprise event streams
@mwwoda ci sta già lavorando.
Dal 24/5/2022.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Is your feature request related to a problem? Please describe.
Yes. We're seeing far fewer events when streaming enterprise events via the Box Python SDK in comparison to the Node one, which we want to migrate off of due to better Kafka support in Python.
In order to switch from Node to Python, I believe that we need generate_events_with_long_polling() to be implemented for the enterprise event stream type.
You can see the warning that this is not implemented here in source and here in docs.
The reason I believe we need generate_events_with_long_polling() is because it allows you to make one call and continuously receive events from that position in the stream forward (like we do in Node). Trying to do that manually has the following problem: you need to manually track your position in the stream, and positions in the stream are constantly moving as data falls off the end of the retention window. i.e. The positions are not static, they're moving as data comes in, so there's no reliable way to keep fetching data in order. We've been told by Box devs in the past that manually managing the stream position is unreliable for that reason, and will result in data loss and duplication.
Describe the solution you'd like
Implement generate_events_with_long_polling() for the enterprise event stream type.
Describe alternatives you've considered
Staying on Node for the time being. This is the only alternative I can think of, as we can't seem to reliably capture all events in our enterprise instance using the Python SDK.
Additional context
I've reached out via a support ticket with Box through my company IBM, and they suggested also opening an issue here to communicate with the SDK team directly. Sakora said:
It looks like our Python SDK team would need to implement this functionality into our SDK. I have reached out to our Python SDK team for further clarification when this will be implemented. You can also reach out directly to our Python SDK team by opening a GitHub Issues ticket in the GitHub repo to communicate directly with them. I will provide an update once I receive a response back from our Python SDK team.
- Lingua principale
- Python
- Stelle
- 460
- Fork
- 223
- Merge medio
- 14h 18m
- PR unite (30g)
- 21
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di box/box-python-sdk
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
box/box-python-sdk#196 ·
-
bug enhancement
box/box-python-sdk#1314 · 6 commenti · 5 assegnatari ·
-
enhancement
box/box-python-sdk#1154 · 3 commenti · 5 assegnatari ·
-
Asynchronous IO Support Apertaenhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
box/box-python-sdk#1155 · 1 commento · 4 reazioni ·
-
enhancement
box/box-python-sdk#1157 · 1 commento · 6 assegnatari ·
Tutte le issue di box/box-python-sdk
Issue simili
-
documentation help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
simonw/sqlite-utils#872 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100