我正在为Glass开发基于镜像api的应用程序,该应用程序执行以下操作:
我得到了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()
这是定期更新时间轴卡的唯一方法,还是有更好的方法可以做到这一点?这个解决方案确实让程序永远运行,如果服务器重新启动,那么没有直接重启这个线程的方法。
答案 0 :(得分:3)
如果您使用Google App Engine来托管您的应用程序,您可能希望将这样的定期更新设置为cron
作业,而不是运行您自己的线程。他们关于scheduling tasks with cron
for Python的文档应描述您的需求。
如果您没有使用App Engine,那么您需要了解您的框架或服务器为重复性任务提供的支持。