daemon2: check if schema version changed

This commit is contained in:
Andrew Dolgov 2013-04-01 14:29:29 +04:00
parent dc5a8a21a8
commit 4c2da34957
1 changed files with 16 additions and 1 deletions

View File

@ -176,7 +176,9 @@
// It is unnecessary to start the fork loop if database is not ok. // It is unnecessary to start the fork loop if database is not ok.
$link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if (!init_connection($link)) return; if (!init_connection($link)) die("Can't initialize db connection.\n");
$schema_version = get_schema_version($link);
db_close($link); db_close($link);
@ -193,6 +195,19 @@
if ($last_checkpoint + $spawn_interval < time()) { if ($last_checkpoint + $spawn_interval < time()) {
/* Check if schema version changed */
$link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if (!init_connection($link)) die("Can't initialize db connection.\n");
$test_schema_version = get_schema_version($link);
db_close($link);
if ($test_schema_version != $schema_version) {
_debug("Expected schema version: $schema_version, got: $test_schema_version");
_debug("Schema version changed while we were running, bailing out");
exit(100);
}
check_ctimes(); check_ctimes();
reap_children(); reap_children();