struct jpfeed *f = feed;
if (glite_jppsbe_store_feed(ctx,f)) fputs(glite_jp_error_chain(ctx),stderr);
- else kill(-master,SIGUSR1); /* gracefully terminate slaves
+ else{
+ time(&(f->expires));
+ f->expires += FEED_TTL;
+ glite_jppsbe_refresh_feed(ctx, f->id, f->expires);
+ kill(-master,SIGUSR1); /* gracefully terminate slaves
and let master restart them */
+ }
return 0;
}
time(expires); *expires += FEED_TTL;
glite_jppsbe_refresh_feed(ctx, feed_id, expires);
+
+ printf("Feed %s has been refreshed.\n", feed_id);
return 0;
}
int glite_jppsbe_refresh_feed(
glite_jp_context_t ctx,
char *feed_id,
- time_t *expires
+ time_t expires
)
{
glite_jp_error_t err;
memset(&err,0,sizeof err);
char *stmt = NULL;
-
- trio_asprintf(&stmt, "update feeds set expires=%s where feedid='%ISs'",
- expires, feed_id);
+ char *e = NULL;
+ glite_lbu_TimeToDB(expires, &e);
+ trio_asprintf(&stmt, "update feeds set expires=%s where feedid=%s",
+ e, feed_id);
if (!stmt) {
err.code = ENOMEM;
goto error_out;