2014-02-04 3 views
1

Я работаю на приложение зеркало апи основе для стекла, который делает следующее:Лучше решение обновить стекла временной шкалы карты

  1. Вставки хронология карты в первый раз после установки/позволяя приложения.
  2. Обновляет карту временной шкалы с определенным интервалом, скажем, один раз в день.

У меня 1) работает. Для 2) я использовал таймер, который продолжает работать и обновляет карту временной шкалы в день. Вот мой код для обновления временной шкалы карты:

def update_card(self, service, delay): 
    while True: 
     item_id = 'timeline card id goes here'; 
     timestamp = int(time.time()) 
     text = 'Timeline card updated for today' 
     self.update_timeline_item(service, item_id, text, 'DEFAULT'); 
     time.sleep(delay) 

И это, как я называю это:

t = Thread(target=self.update_card, args=(self.mirror_service, 86400,)) 
t.start() 

Это единственный способ обновления временной шкалы карты периодически, или есть более эффективные способы делать это? Это решение действительно заставляет программу работать навсегда, и если сервер перезапускается, то нет прямого способа перезапуска этого потока.

ответ

3

Если вы используете Google App Engine для размещения своего приложения, вы, вероятно, захотите настроить периодические обновления, подобные этому, как задание cron вместо того, чтобы запускать свой собственный поток. Их документация о scheduling tasks with cron for Python должна описывать, что вам нужно.

Если вы не используете App Engine, вам необходимо изучить, какую поддержку поддерживает ваша инфраструктура или сервер для выполнения повторяющихся задач.

+0

Я попробовал это сначала. Но действительно не уверен, как вызвать код для обновления карты временной шкалы из сценария cron. Я вижу много документации вокруг, но я ищу легко следовать в контексте учебник/инструкции или код snnipet. – bianca

 Смежные вопросы

  • Нет связанных вопросов^_^