Я пытаюсь настроить сервер API Flask, с которого я могу получать данные из локальной базы данных через текущий HTTP-запрос к другой базе данных.
В локальном коде я запускаю поток, который работает и обновляет локальную БД каждую минуту.
app = Flask(__name__)
cached_event_log = None
@app.route('/event_log', methods=['GET'])
def get_event_log():
if cached_event_log != None and .get_latest_event_time == cached_event_log[-1]:
return jsonify(cached_event_log)
#MAKE CONNECTION TO DB AND GET THE DATA
return jsonify(event_log)
if (__name__ == '__main__'):
app.run(Debug=True)
Я изо всех сил пытаюсь найти «стандартный» способ настроить запрос.
Любое мнение будет высоко оценено - Спасибо,
Я продолжаю возвращаться к этому вопросу, но, несмотря на потенциальную неэффективность того, что предполагает нераспределенную серверную среду, в которой будут работать только физические подключения серверов и API-сервера (т.е. постоянный HTTP-запрос), как бы я это сделал, у вас есть подсказки случайно нет? Спасибо за ваше время для ответа; Я благодарен. @dwgaon
Извините, я не понимаю вашего комментария. Как инициировать http-запрос? Я настоятельно рекомендую посмотреть docs.python-requests.org/en/мастер
Вы можете настроить задание cron для запуска скрипта с заданным интервалом.
Или используйте что-то вроде Advanced Python Scheduler. https://apscheduler.readthedocs.io/en/3.0/
Расширенная поддержка планировщика Python во Flask https://github.com/viniciuschiele/flask-apscheduler
Спасибо за идею. Я настроил задания cron с короткими скриптами python для получения данных из твиттера каждый день — я забыл, что они вообще существовали. Спасибо. Я больше искал, как установить постоянное соединение между локальной БД и Сервером, или что для этого нет возможности, и мне приходится делать «реактивные» вызовы каждый раз, когда мне нужны данные из БД.
Взгляните на Flask-APScheduler github.com/viniciuschiele/flask-apscheduler Это позволяет вам выполнять запланированные задачи (например, выборку чего-либо каждые 5 минут), а также реактивные вызовы API.