GH-1927 Add more specific task status logging

* Tasks are now described by class name and object name (or memory address).
* Tasks starts are logged.
* Aborted tasks are now treated just as the other cases.
This commit is contained in:
Petr Mrázek
2017-07-07 19:46:56 +02:00
parent fbeceaa98c
commit e5b4b5d295
13 changed files with 194 additions and 122 deletions

View File

@ -94,7 +94,6 @@ void NetJob::partProgress(int index, qint64 bytesReceived, qint64 bytesTotal)
void NetJob::executeTask()
{
qDebug() << m_job_name.toLocal8Bit() << " started.";
// hack that delays early failures so they can be caught easier
QMetaObject::invokeMethod(this, "startMoreParts", Qt::QueuedConnection);
}
@ -114,18 +113,15 @@ void NetJob::startMoreParts()
{
if(!m_failed.size())
{
qDebug() << m_job_name << "succeeded.";
emitSucceeded();
}
else if(m_aborted)
{
qDebug() << m_job_name << "aborted.";
emitFailed(tr("Job '%1' aborted.").arg(m_job_name));
emitAborted();
}
else
{
qCritical() << m_job_name << "failed.";
emitFailed(tr("Job '%1' failed to process:\n%2").arg(m_job_name).arg(getFailedFiles().join("\n")));
emitFailed(tr("Job '%1' failed to process:\n%2").arg(objectName()).arg(getFailedFiles().join("\n")));
}
}
return;

View File

@ -30,7 +30,10 @@ class MULTIMC_LOGIC_EXPORT NetJob : public Task
{
Q_OBJECT
public:
explicit NetJob(QString job_name) : Task(), m_job_name(job_name) {}
explicit NetJob(QString job_name) : Task()
{
setObjectName(job_name);
}
virtual ~NetJob() {}
bool addNetAction(NetActionPtr action);
@ -77,7 +80,6 @@ private:
qint64 total_progress = 1;
int failures = 0;
};
QString m_job_name;
QList<NetActionPtr> downloads;
QList<part_info> parts_progress;
QQueue<int> m_todo;