shared: Begin FileScanWorker
This commit is contained in:
29
shared/filescanworker.cpp
Normal file
29
shared/filescanworker.cpp
Normal file
@@ -0,0 +1,29 @@
|
||||
#include "filescanworker.h"
|
||||
#include "logger.h"
|
||||
FileScanWorker::FileScanWorker(SqliteDbService &db, ConcurrentQueue<QString> &queue, int batchsize)
|
||||
{
|
||||
this->dbService = &db;
|
||||
this->queue = &queue;
|
||||
this->batchsize = batchsize;
|
||||
}
|
||||
|
||||
void FileScanWorker::run()
|
||||
{
|
||||
FileSaver saver{*this->dbService};
|
||||
auto paths = queue->dequeue(batchsize);
|
||||
for(QString &path : paths)
|
||||
{
|
||||
SaveFileResult sfr;
|
||||
try
|
||||
{
|
||||
sfr = saver.addFile(path);
|
||||
}
|
||||
catch(std::runtime_error &e)
|
||||
{
|
||||
Logger::error() << e.what();
|
||||
sfr = PROCESSFAIL; // well...
|
||||
}
|
||||
emit result({path, sfr});
|
||||
}
|
||||
emit finished();
|
||||
}
|
||||
Reference in New Issue
Block a user