diff options
author | Kevron Rees <kevron.m.rees@intel.com> | 2015-01-14 15:03:09 -0800 |
---|---|---|
committer | Kevron Rees <kevron.m.rees@intel.com> | 2015-01-14 15:48:19 -0800 |
commit | 85f4c34547f6f5165e21b16f45ea591348e09e2e (patch) | |
tree | 5d86ffc9d74f1ef008297fd994f358cc2c9ac57e | |
parent | 85d1974dda0594f6934341c2b53f625e9fbec959 (diff) | |
download | automotive-message-broker-85f4c34547f6f5165e21b16f45ea591348e09e2e.tar.gz |
Store system time in db, not steady time
-rw-r--r-- | plugins/database/databasesink.cpp | 10 | ||||
-rw-r--r-- | plugins/database/databasesink.h | 2 |
2 files changed, 7 insertions, 5 deletions
diff --git a/plugins/database/databasesink.cpp b/plugins/database/databasesink.cpp index 8881ae53..048c9060 100644 --- a/plugins/database/databasesink.cpp +++ b/plugins/database/databasesink.cpp @@ -28,10 +28,10 @@ static void * cbFunc(Shared* shared) vector<DictionaryList<string> > insertList; + double startTime = amb::currentTime(); + while(1) { - usleep(timeout*1000); - DBObject obj = shared->queue.pop(); if( obj.quit ) @@ -45,7 +45,7 @@ static void * cbFunc(Shared* shared) NameValuePair<string> two("value", obj.value); NameValuePair<string> three("source", obj.source); NameValuePair<string> zone("zone", boost::lexical_cast<string>(obj.zone)); - NameValuePair<string> four("time", boost::lexical_cast<string>(obj.time)); + NameValuePair<string> four("time", boost::lexical_cast<string>(amb::Timestamp::instance()->epochTime(obj.time))); NameValuePair<string> five("sequence", boost::lexical_cast<string>(obj.sequence)); NameValuePair<string> six("tripId", shared->tripId); @@ -59,8 +59,10 @@ static void * cbFunc(Shared* shared) insertList.push_back(dict); - if(insertList.size() >= bufferLength) + if(insertList.size() >= bufferLength && amb::currentTime() - startTime >= timeout / 1000) { + startTime = amb::currentTime(); + shared->db->exec("BEGIN IMMEDIATE TRANSACTION"); for(int i=0; i< insertList.size(); i++) { diff --git a/plugins/database/databasesink.h b/plugins/database/databasesink.h index 459ec928..a382043a 100644 --- a/plugins/database/databasesink.h +++ b/plugins/database/databasesink.h @@ -97,7 +97,7 @@ class Shared { public: Shared() - :queue(true) + :queue(true, true) { db = new BaseDB; } |