更新Glass时间线卡的更好解决方案

时间:2014-02-04 14:54:20

标签: android google-glass google-mirror-api

我正在为Glass开发基于镜像api的应用程序,该应用程序执行以下操作:

  1. 安装/允许应用后,第一次插入时间线卡。
  2. 按一定间隔更新时间线卡,比如每天更新一次。
  3. 我得到了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()  
    

    这是定期更新时间轴卡的唯一方法,还是有更好的方法可以做到这一点?这个解决方案确实让程序永远运行,如果服务器重新启动,那么没有直接重启这个线程的方法。

1 个答案:

答案 0 :(得分:3)

如果您使用Google App Engine来托管您的应用程序,您可能希望将这样的定期更新设置为cron作业,而不是运行您自己的线程。他们关于scheduling tasks with cron for Python的文档应描述您的需求。

如果您没有使用App Engine,那么您需要了解您的框架或服务器为重复性任务提供的支持。