From d5862f24a3074595b714a2e2519a1f730d4986b9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ji=C5=99=C3=AD=20Filipovi=C4=8D?= Date: Mon, 4 May 2009 08:14:13 +0000 Subject: [PATCH] running and aborted RSS feeds --- org.glite.lb.server/src/lb_proto.c | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/org.glite.lb.server/src/lb_proto.c b/org.glite.lb.server/src/lb_proto.c index 62aa4eb..7edb2d7 100644 --- a/org.glite.lb.server/src/lb_proto.c +++ b/org.glite.lb.server/src/lb_proto.c @@ -320,6 +320,46 @@ static int getJobsRSS(edg_wll_Context ctx, char *feedType, edg_wll_JobStat **sta conds[2][1].attr = EDG_WLL_QUERY_ATTR_UNDEF; conds[3] = NULL; } + else if (strncmp(feedType, "running", strlen("running")) == 0){ + conds = malloc(4*sizeof(*conds)); + conds[0] = malloc(2*sizeof(**conds)); + conds[0][0].attr = EDG_WLL_QUERY_ATTR_OWNER; + conds[0][0].op = EDG_WLL_QUERY_OP_EQUAL; + conds[0][0].value.c = can_peername; + conds[0][1].attr = EDG_WLL_QUERY_ATTR_UNDEF; + conds[1] = malloc(2*sizeof(**conds)); + conds[1][0].attr = EDG_WLL_QUERY_ATTR_STATUS; + conds[1][0].op = EDG_WLL_QUERY_OP_EQUAL; + conds[1][0].value.i = EDG_WLL_JOB_RUNNING; + conds[1][1].attr = EDG_WLL_QUERY_ATTR_UNDEF; + conds[2] = malloc(2*sizeof(**conds)); + conds[2][0].attr = EDG_WLL_QUERY_ATTR_STATEENTERTIME; + conds[2][0].op = EDG_WLL_QUERY_OP_GREATER; + conds[2][0].value.t.tv_sec = time(NULL) - ctx->rssTime; + conds[2][0].value.t.tv_usec = 0; + conds[2][1].attr = EDG_WLL_QUERY_ATTR_UNDEF; + conds[3] = NULL; + } + else if (strncmp(feedType, "aborted", strlen("aborted")) == 0){ + conds = malloc(4*sizeof(*conds)); + conds[0] = malloc(2*sizeof(**conds)); + conds[0][0].attr = EDG_WLL_QUERY_ATTR_OWNER; + conds[0][0].op = EDG_WLL_QUERY_OP_EQUAL; + conds[0][0].value.c = can_peername; + conds[0][1].attr = EDG_WLL_QUERY_ATTR_UNDEF; + conds[1] = malloc(2*sizeof(**conds)); + conds[1][0].attr = EDG_WLL_QUERY_ATTR_STATUS; + conds[1][0].op = EDG_WLL_QUERY_OP_EQUAL; + conds[1][0].value.i = EDG_WLL_JOB_ABORTED; + conds[1][1].attr = EDG_WLL_QUERY_ATTR_UNDEF; + conds[2] = malloc(2*sizeof(**conds)); + conds[2][0].attr = EDG_WLL_QUERY_ATTR_STATEENTERTIME; + conds[2][0].op = EDG_WLL_QUERY_OP_GREATER; + conds[2][0].value.t.tv_sec = time(NULL) - ctx->rssTime; + conds[2][0].value.t.tv_usec = 0; + conds[2][1].attr = EDG_WLL_QUERY_ATTR_UNDEF; + conds[3] = NULL; + } else{ *statesOut = NULL; return -1; -- 1.8.2.3