elastic/elasticsearch-py

Helpers for `bulk` method such as `async_bulk` sleep in blocking manner, preventing graceful shutdown

Open

Aperta il 22 mar 2024

Vedi su GitHub
 (5 commenti) (0 reazioni) (0 assegnatari)Python (4060 star) (1206 fork)batch import
Area: HelpersCategory: Enhancementgood first issue

Descrizione

We tried using async_bulk and async_streaming_bulk helpers to ingest data into Elasticsearch and they work great, but we've found out that they prevent our code from gracefully shutting down when CTRL+C is pressed.

Example code that sleeps: https://github.com/elastic/elasticsearch-py/blob/e1603f4f25888ca7fee03ee977abafb00d512601/elasticsearch/_async/helpers.py#L249-L251

It would be great to have a way to:

  • Either define how the sleep happens by passing sleep function into the client
  • Make Elasticsearch client internally cancel all sleeps when the client is closed

Guida contributor