Lock builds for a shorter amount of time
This commit is contained in:
parent
6d738a31bf
commit
a4fb93c119
|
@ -421,18 +421,6 @@ void State::getQueuedBuilds(std::shared_ptr<StoreAPI> store)
|
||||||
|
|
||||||
auto conn(dbPool.get());
|
auto conn(dbPool.get());
|
||||||
|
|
||||||
#if 0
|
|
||||||
{
|
|
||||||
auto runnable_(runnable.lock());
|
|
||||||
auto builds_(builds.lock());
|
|
||||||
auto steps_(steps.lock());
|
|
||||||
printMsg(lvlError, format("%1% builds, %2% steps, %3% runnable steps")
|
|
||||||
% builds_->size()
|
|
||||||
% steps_->size()
|
|
||||||
% runnable_->size());
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Grab the queued builds from the database, but don't process
|
/* Grab the queued builds from the database, but don't process
|
||||||
them yet (since we don't want a long-running transaction). */
|
them yet (since we don't want a long-running transaction). */
|
||||||
std::list<Build::ptr> newBuilds; // FIXME: use queue
|
std::list<Build::ptr> newBuilds; // FIXME: use queue
|
||||||
|
@ -444,9 +432,8 @@ void State::getQueuedBuilds(std::shared_ptr<StoreAPI> store)
|
||||||
// highest.
|
// highest.
|
||||||
auto res = txn.exec("select * from Builds where finished = 0 order by id");
|
auto res = txn.exec("select * from Builds where finished = 0 order by id");
|
||||||
|
|
||||||
auto builds_(builds.lock());
|
|
||||||
|
|
||||||
for (auto const & row : res) {
|
for (auto const & row : res) {
|
||||||
|
auto builds_(builds.lock());
|
||||||
BuildID id = row["id"].as<BuildID>();
|
BuildID id = row["id"].as<BuildID>();
|
||||||
if (has(*builds_, id)) continue;
|
if (has(*builds_, id)) continue;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue