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:40:44 -0800 |
commit | b105deef32daf8b754e3f65a861bb8399f4cbc1d (patch) | |
tree | 25c076c4f12cff6f6f183e984df2a66821902e12 | |
parent | a3a71f79204aa24f287a82d85d19fef50b419c98 (diff) | |
download | automotive-message-broker-b105deef32daf8b754e3f65a861bb8399f4cbc1d.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 b18ca2c6..57d57073 100644 --- a/plugins/database/databasesink.cpp +++ b/plugins/database/databasesink.cpp @@ -30,10 +30,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 ) @@ -47,7 +47,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); @@ -61,8 +61,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; } |