Я новичок в python и асинхронном c кодировании. Я пытаюсь запустить трудоемкую функцию, которая ничего не возвращает и работает в фоновом режиме, возвращая значение во время работы. Я пытаюсь использовать для этого gevent. Я могу успешно запланировать и запустить гринлет, но возвращаемое значение все еще ожидает завершения sh выполнения всего перед возвратом. Как я могу переформатировать это, чтобы я получал возвращаемое значение, как только выборка будет успешной, пока продолжается фоновый процесс?
def run_the_timely_function(self):
data_list = fetch.example_fetch()
threads = [
gevent.spawn(self.timely_function, data_list)
]
gevent.joinall(threads)
return len(data_list)
def timely_function(self, data_list: list):
# some expensive sql queries and complicated data mapping that does not return anything
# and just needs to successfully run in the background