made concurent task fail
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
parent
7f4665e3cc
commit
d3dc00dcab
@ -112,7 +112,6 @@ void Flame::FileResolvingTask::netJobFinished()
|
|||||||
connect(m_checkJob.get(), &NetJob::failed, this, [this, step_progress](QString reason) {
|
connect(m_checkJob.get(), &NetJob::failed, this, [this, step_progress](QString reason) {
|
||||||
step_progress->state = TaskStepState::Failed;
|
step_progress->state = TaskStepState::Failed;
|
||||||
stepProgress(*step_progress);
|
stepProgress(*step_progress);
|
||||||
emitFailed(reason);
|
|
||||||
});
|
});
|
||||||
connect(m_checkJob.get(), &NetJob::stepProgress, this, &FileResolvingTask::propogateStepProgress);
|
connect(m_checkJob.get(), &NetJob::stepProgress, this, &FileResolvingTask::propogateStepProgress);
|
||||||
connect(m_checkJob.get(), &NetJob::progress, this, [this, step_progress](qint64 current, qint64 total) {
|
connect(m_checkJob.get(), &NetJob::progress, this, [this, step_progress](qint64 current, qint64 total) {
|
||||||
|
@ -118,8 +118,11 @@ void ConcurrentTask::startNext()
|
|||||||
if (m_aborted || m_doing.count() > m_total_max_size)
|
if (m_aborted || m_doing.count() > m_total_max_size)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (m_queue.isEmpty() && m_doing.isEmpty() && !wasSuccessful()) {
|
if (m_queue.isEmpty() && m_doing.isEmpty() && isRunning()) {
|
||||||
emitSucceeded();
|
if (m_failed.isEmpty())
|
||||||
|
emitSucceeded();
|
||||||
|
else
|
||||||
|
emitFailed(tr("One or more subtasks failed"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -194,7 +197,7 @@ void ConcurrentTask::subTaskStatus(Task::Ptr task, const QString& msg)
|
|||||||
auto task_progress = m_task_progress.value(task->getUid());
|
auto task_progress = m_task_progress.value(task->getUid());
|
||||||
task_progress->status = msg;
|
task_progress->status = msg;
|
||||||
task_progress->state = TaskStepState::Running;
|
task_progress->state = TaskStepState::Running;
|
||||||
|
|
||||||
emit stepProgress(*task_progress);
|
emit stepProgress(*task_progress);
|
||||||
|
|
||||||
if (totalSize() == 1) {
|
if (totalSize() == 1) {
|
||||||
@ -207,7 +210,7 @@ void ConcurrentTask::subTaskDetails(Task::Ptr task, const QString& msg)
|
|||||||
auto task_progress = m_task_progress.value(task->getUid());
|
auto task_progress = m_task_progress.value(task->getUid());
|
||||||
task_progress->details = msg;
|
task_progress->details = msg;
|
||||||
task_progress->state = TaskStepState::Running;
|
task_progress->state = TaskStepState::Running;
|
||||||
|
|
||||||
emit stepProgress(*task_progress);
|
emit stepProgress(*task_progress);
|
||||||
|
|
||||||
if (totalSize() == 1) {
|
if (totalSize() == 1) {
|
||||||
@ -220,7 +223,7 @@ void ConcurrentTask::subTaskProgress(Task::Ptr task, qint64 current, qint64 tota
|
|||||||
auto task_progress = m_task_progress.value(task->getUid());
|
auto task_progress = m_task_progress.value(task->getUid());
|
||||||
|
|
||||||
task_progress->update(current, total);
|
task_progress->update(current, total);
|
||||||
|
|
||||||
emit stepProgress(*task_progress);
|
emit stepProgress(*task_progress);
|
||||||
updateStepProgress(*task_progress, Operation::CHANGED);
|
updateStepProgress(*task_progress, Operation::CHANGED);
|
||||||
updateState();
|
updateState();
|
||||||
@ -233,7 +236,7 @@ void ConcurrentTask::subTaskProgress(Task::Ptr task, qint64 current, qint64 tota
|
|||||||
void ConcurrentTask::subTaskStepProgress(Task::Ptr task, TaskStepProgress const& task_progress)
|
void ConcurrentTask::subTaskStepProgress(Task::Ptr task, TaskStepProgress const& task_progress)
|
||||||
{
|
{
|
||||||
Operation op = Operation::ADDED;
|
Operation op = Operation::ADDED;
|
||||||
|
|
||||||
if (!m_task_progress.contains(task_progress.uid)) {
|
if (!m_task_progress.contains(task_progress.uid)) {
|
||||||
m_task_progress.insert(task_progress.uid, std::make_shared<TaskStepProgress>(task_progress));
|
m_task_progress.insert(task_progress.uid, std::make_shared<TaskStepProgress>(task_progress));
|
||||||
op = Operation::ADDED;
|
op = Operation::ADDED;
|
||||||
@ -254,12 +257,10 @@ void ConcurrentTask::subTaskStepProgress(Task::Ptr task, TaskStepProgress const&
|
|||||||
emit stepProgress(*tp.get());
|
emit stepProgress(*tp.get());
|
||||||
updateStepProgress(*tp.get(), op);
|
updateStepProgress(*tp.get(), op);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConcurrentTask::updateStepProgress(TaskStepProgress const& changed_progress, Operation op)
|
void ConcurrentTask::updateStepProgress(TaskStepProgress const& changed_progress, Operation op)
|
||||||
{
|
{
|
||||||
|
|
||||||
switch (op) {
|
switch (op) {
|
||||||
case Operation::ADDED:
|
case Operation::ADDED:
|
||||||
m_stepProgress += changed_progress.current;
|
m_stepProgress += changed_progress.current;
|
||||||
@ -274,9 +275,8 @@ void ConcurrentTask::updateStepProgress(TaskStepProgress const& changed_progress
|
|||||||
m_stepTotalProgress -= changed_progress.old_total;
|
m_stepTotalProgress -= changed_progress.old_total;
|
||||||
m_stepProgress += changed_progress.current;
|
m_stepProgress += changed_progress.current;
|
||||||
m_stepTotalProgress += changed_progress.total;
|
m_stepTotalProgress += changed_progress.total;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConcurrentTask::updateState()
|
void ConcurrentTask::updateState()
|
||||||
|
Loading…
Reference in New Issue
Block a user