Триггеры BigQuery для сервера уведомлений о данных

Я пишу сервер уведомлений, чтобы предоставлять обновления пользовательского интерфейса в реальном времени. Это делается с помощью автобана с Python для достижения чего-то вроде это. Итак, мои данные находятся в Bigquery. Я хочу отправлять уведомления в пользовательский интерфейс, как только данные в моей таблице обновляются. Поскольку для bigquery нет триггеров SQL, я подумал о том, чтобы использовать этот сценарий для этого.

  1. Создайте расписание задач в Appengine.

  2. Используйте декоратор таблиц внутри задания для выполнения каждую секунду.

eg: SELECT COUNT(*) FROM [digin_duosoftware_com.test123@-1-]

Или даже простой запрос, чтобы отправлять данные каждую секунду.

Мой вопрос, приемлемо ли иметь эту реализацию для такого сценария, поскольку я запускаю ее каждую секунду? или есть другой способ добиться этого?

Я сослался на этот тоже.


person Marlon Abeykoon    schedule 10.08.2016    source источник


Ответы (1)


согласно использованию оформления таблицы:
относительное значение времени в декораторе должно быть в миллисекундах.

eg: SELECT COUNT(*) FROM [digin_duosoftware_com.test123@-1000-]

Я хочу отправлять уведомления в пользовательский интерфейс, как только данные в моей таблице обновляются

Вместо опроса на основе самих данных - лучше использовать tables.get API для проверки свойства таблицы lastModifiedTime и дальнейших действий на его основе

person Mikhail Berlyant    schedule 10.08.2016
comment
Итак, используя декоратор внутри задания, я должен продолжать опрашивать lastmodifieddate? или напрямую из python вызывать api каждую секунду, чтобы проверить, обновлен ли он? - person Marlon Abeykoon; 10.08.2016
comment
я бы вызвал таблицы. get из вашего кода каждую секунду, и если lastModifiedTime изменится - сделайте любую логику, которая у вас есть для обновления пользовательского интерфейса - person Mikhail Berlyant; 10.08.2016
comment
хорошо, спасибо за четкое объяснение. +1 Я приму это после реализации. :) - person Marlon Abeykoon; 10.08.2016