return -1;
while (1) {
+ const char *db_name;
char timestr[128];
time_t t;
while ((db = get_outdated_db(db_list)))
rrdtool_update_data(db);
- sleeptime = get_next_update(db_list);
+ sleeptime = get_next_update(db_list, &db_name);
t = time(0) + sleeptime;
strftime(timestr, sizeof(timestr), "%T", localtime(&t));
- pr_info("Next event at %s, in %d seconds\n",
- timestr, sleeptime);
+ pr_info("Next scheduled event \"%s\" at %s, in %d seconds\n",
+ db_name, timestr, sleeptime);
poll_job_requests(sleeptime);
}
* again
*/
-int get_next_update(struct rrd_database **dblist)
+int get_next_update(struct rrd_database **dblist, const char **name)
{
int i, sleeptime = 0, diff;
time_t now = time(0);
for (i = 0; dblist[i]; i++) {
diff = dblist[i]->last_update + dblist[i]->interval - now;
- if (!sleeptime)
+ if (!sleeptime) {
sleeptime = diff;
- if (sleeptime > diff)
+ *name = dblist[i]->name;
+ }
+ if (sleeptime > diff) {
sleeptime = diff;
+ *name = dblist[i]->name;
+ }
if (sleeptime <= 0)
return 0;
}
#include "rrdtool.h"
struct rrd_database *get_outdated_db(struct rrd_database **dblist);
-int get_next_update(struct rrd_database **dblist);
+int get_next_update(struct rrd_database **dblist, const char **name);
#endif