Совместное использование данных между функциями, вызываемыми внешней библиотекойPython

Программы на Python
Ответить
Anonymous
 Совместное использование данных между функциями, вызываемыми внешней библиотекой

Сообщение Anonymous »

Я пишу Slackbot, используяbolt_python, который состоит из написания функций, вызываемых во время событий. Многие события, на которые я хочу отреагировать, используют те же данные, которые я получаю от внешнего API. Я хотел бы избежать многократного вызова API для одних и тех же данных, поэтому я хотел бы кэшировать его и использовать кеш совместно.
Я мог бы заставить кеш использовать глобальную переменную, но это никому не нравится.
Вот как может выглядеть версия, использующая глобальную переменную.

Код: Выделить всё

dumb_global = {}

@app.command('\foo')
def foo_command(command, logger, say):
if len(dumb_global) < 1:
dumb_global = do_lots_of_io_and_networky_stuff()
say(something_useful(dumb_global))

@app.action('button-click')
def button_click(action, logger, say):
if len(dumb_global) < 1:
dumb_global = do_lots_of_io_and_networky_stuff()
say(something_else_useful(dumb_global))
Как лучше всего это сделать?
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/798 ... al-library
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»