FS-7854 Add task_runtime to tasks table in core database

This patch adds the task_runtime column to the tasks table in the core
database. The BIGINT type is used for this column because a 64-bit integer
is used to store task runtimes within the scheduler.
This commit is contained in:
Bradley Jokinen 2015-07-20 13:27:11 -05:00
parent 81ba61930f
commit 99f5234fef
1 changed files with 17 additions and 7 deletions

View File

@ -2246,10 +2246,14 @@ static void core_event_handler(switch_event_t *event)
const char *manager = switch_event_get_header(event, "task-sql_manager"); const char *manager = switch_event_get_header(event, "task-sql_manager");
if (id) { if (id) {
new_sql() = switch_mprintf("insert into tasks values(%q,'%q','%q',%q, '%q')", new_sql() = switch_mprintf("insert into tasks (task_id, task_desc, task_group, task_runtime, task_sql_manager, hostname) "
"values(%q,'%q','%q',%q,%q,'%q')",
id, id,
switch_event_get_header_nil(event, "task-desc"), switch_event_get_header_nil(event, "task-desc"),
switch_event_get_header_nil(event, "task-group"), manager ? manager : "0", switch_core_get_hostname() switch_event_get_header_nil(event, "task-group"),
switch_event_get_header_nil(event, "task-runtime"),
manager ? manager : "0",
switch_core_get_hostname()
); );
} }
} }
@ -2265,10 +2269,14 @@ static void core_event_handler(switch_event_t *event)
const char *manager = switch_event_get_header(event, "task-sql_manager"); const char *manager = switch_event_get_header(event, "task-sql_manager");
if (id) { if (id) {
new_sql() = switch_mprintf("update tasks set task_desc='%q',task_group='%q', task_sql_manager=%q where task_id=%q and hostname='%q'", new_sql() = switch_mprintf("update tasks set task_desc='%q',task_group='%q', task_runtime=%q, task_sql_manager=%q where task_id=%q and hostname='%q'",
switch_event_get_header_nil(event, "task-desc"), switch_event_get_header_nil(event, "task-desc"),
switch_event_get_header_nil(event, "task-group"), manager ? manager : "0", id, switch_event_get_header_nil(event, "task-group"),
switch_core_get_hostname()); switch_event_get_header_nil(event, "task-runtime"),
manager ? manager : "0",
id,
switch_core_get_hostname()
);
} }
} }
break; break;
@ -2738,6 +2746,7 @@ static char create_tasks_sql[] =
" task_id INTEGER,\n" " task_id INTEGER,\n"
" task_desc VARCHAR(4096),\n" " task_desc VARCHAR(4096),\n"
" task_group VARCHAR(1024),\n" " task_group VARCHAR(1024),\n"
" task_runtime BIGINT,\n"
" task_sql_manager INTEGER,\n" " task_sql_manager INTEGER,\n"
" hostname VARCHAR(256)\n" " hostname VARCHAR(256)\n"
");\n"; ");\n";
@ -3442,7 +3451,8 @@ switch_status_t switch_core_sqldb_start(switch_memory_pool_t *pool, switch_bool_
free(tmp); free(tmp);
} }
switch_cache_db_test_reactive(sql_manager.dbh, "select ikey from interfaces", "DROP TABLE interfaces", create_interfaces_sql); switch_cache_db_test_reactive(sql_manager.dbh, "select ikey from interfaces", "DROP TABLE interfaces", create_interfaces_sql);
switch_cache_db_test_reactive(sql_manager.dbh, "select hostname from tasks", "DROP TABLE tasks", create_tasks_sql); switch_cache_db_test_reactive(sql_manager.dbh, "select task_id, task_desc, task_group, task_runtime, task_sql_manager, hostname from tasks",
"DROP TABLE tasks", create_tasks_sql);
switch(sql_manager.dbh->type) { switch(sql_manager.dbh->type) {