elastic/elasticsearch-py

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

Open

#2,484 opened on Mar 22, 2024

View on GitHub
 (5 comments) (0 reactions) (0 assignees)Python (4,060 stars) (1,206 forks)batch import
Area: HelpersCategory: Enhancementgood first issue

Description

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

Contributor guide