'worker':query('SELECT distinct worker FROM jobs')}
# parse filter
filter={
'type':request.args.get('type','%'),
'state':request.args.get('state','failed'),
'worker':request.args.get('worker','%')}
jobs=query('SELECT * FROM jobs WHERE (state != "finished") AND (type like ?) AND (worker like ? OR (worker IS NULL AND ? = "%")) AND (state like ?) ORDER BY `time_created` DESC LIMIT ? OFFSET ?',filter['type'],filter['worker'],filter['worker'],filter['state'],pagesize,page*pagesize)