def GET( self ):
web.header( 'Content-Type', 'application/json' )
params = web.input( sid = None )
sensorInfo = getSiteFor( params.sid )
if sensorInfo is None:
raise web.HTTPError( '404 Not Found: sensor not found' )
sensorInfo, site = sensorInfo
after = int( time.time() - 5 )
eventCache = RingCache( maxEntries = 100, isAutoAdd = True )
while True:
now = int( time.time() )
newest = 0
res = querySite( 'models', 'get_timeline',
{ 'id' : sensorInfo[ 'id' ],
'is_include_content' : True,
'after' : after }, defaultSiteProc, site, {} )
for r in res[ 'events' ]:
if r[ 2 ] not in eventCache:
yield dumpJson( sanitizeJson( r[ 3 ] ) )
eventTime = int( r[ 0 ] / 1000 )
if eventTime < now + 30 and eventTime > newest:
newest = eventTime
if 0 != newest:
after = newest - 1
gevent.sleep( 2 )
评论列表
文章目录