Lines Matching refs:task
143 auto task = std::move(worker->debuggerQueue_.front()); in HandleDebuggerTask() local
146 task(); in HandleDebuggerTask()
149 void Worker::DebuggerOnPostTask(std::function<void()>&& task) in DebuggerOnPostTask() argument
153 debuggerQueue_.push(std::move(task)); in DebuggerOnPostTask()
262 workerEngine->SetDebuggerPostTaskFunc([this](std::function<void()>&& task) { in PrepareForWorkerInstance() argument
263 this->DebuggerOnPostTask(std::move(task)); in PrepareForWorkerInstance()
382 Task* task = TaskManager::GetInstance().GetTask(taskInfo.first); in PerformTask() local
383 if (task == nullptr) { in PerformTask()
386 } else if (!task->IsValid() && task->ShouldDeleteTask(false)) { in PerformTask()
388 delete task; in PerformTask()
394 if (!task->UpdateTask(startTime, worker)) { in PerformTask()
398 … if (task->IsGroupTask() && (!TaskGroupManager::GetInstance().UpdateGroupState(task->groupId_))) { in PerformTask()
401 if (task->IsLongTask()) { in PerformTask()
402 worker->UpdateLongTaskInfo(task); in PerformTask()
404 worker->StoreTaskId(task->taskId_); in PerformTask()
406 …std::string strTrace = "Task Perform: name : " + task->name_ + ", taskId : " + std::to_string(tas… in PerformTask()
413 napi_value errorInfo = task->DeserializeValue(env, &func, &args); in PerformTask()
416 worker->NotifyTaskResult(env, task, errorInfo); in PerformTask()
420 if (!worker->InitTaskPoolFunc(env, func, task)) { in PerformTask()
430 if (!task->CheckStartExecution(taskInfo.second)) { in PerformTask()
431 if (task->ShouldDeleteTask()) { in PerformTask()
432 delete task; in PerformTask()
439 task->DecreaseRefCount(); in PerformTask()
440 task->StoreTaskDuration(); in PerformTask()
442 HandleFunctionException(env, task); in PerformTask()
445 void Worker::NotifyTaskResult(napi_env env, Task* task, napi_value result) in NotifyTaskResult() argument
448 … HILOG_DEBUG("taskpool:: NotifyTaskResult task:%{public}s", std::to_string(task->taskId_).c_str()); in NotifyTaskResult()
455 if ((status != napi_ok || resultData == nullptr) && task->success_) { in NotifyTaskResult()
456 task->success_ = false; in NotifyTaskResult()
460 NotifyTaskResult(env, task, err); in NotifyTaskResult()
463 task->result_ = resultData; in NotifyTaskResult()
464 NotifyHandleTaskResult(task); in NotifyTaskResult()
467 void Worker::NotifyHandleTaskResult(Task* task) in NotifyHandleTaskResult() argument
469 if (!task->IsReadyToHandle()) { in NotifyHandleTaskResult()
472 Worker* worker = reinterpret_cast<Worker*>(task->worker_); in NotifyHandleTaskResult()
475 …auto iter = std::find(worker->currentTaskId_.begin(), worker->currentTaskId_.end(), task->taskId_); in NotifyHandleTaskResult()
483 if (!task->VerifyAndPostResult(worker->priority_)) { in NotifyHandleTaskResult()
484 if (task->ShouldDeleteTask()) { in NotifyHandleTaskResult()
485 delete task; in NotifyHandleTaskResult()
502 Task* task = static_cast<Task*>(data); in TaskResultCallback() local
503 auto taskId = reinterpret_cast<uint64_t>(task); in TaskResultCallback()
508 auto worker = static_cast<Worker*>(task->worker_); in TaskResultCallback()
509 worker->isExecutingLongTask_ = task->IsLongTask(); in TaskResultCallback()
510 task->DecreaseRefCount(); in TaskResultCallback()
511 task->ioTime_ = ConcurrentHelper::GetMilliseconds(); in TaskResultCallback()
512 if (task->cpuTime_ != 0) { in TaskResultCallback()
513 uint64_t ioDuration = task->ioTime_ - task->startTime_; in TaskResultCallback()
514 uint64_t cpuDuration = task->cpuTime_ - task->startTime_; in TaskResultCallback()
515 …TaskManager::GetInstance().StoreTaskDuration(task->taskId_, std::max(ioDuration, cpuDuration), cpu… in TaskResultCallback()
517 task->success_ = success; in TaskResultCallback()
518 NotifyTaskResult(env, task, result); in TaskResultCallback()
544 bool Worker::InitTaskPoolFunc(napi_env env, napi_value func, Task* task) in InitTaskPoolFunc() argument
547 bool success = workerEngine->InitTaskPoolFunc(env, func, task); in InitTaskPoolFunc()
552 task->success_ = false; in InitTaskPoolFunc()
554 NotifyTaskResult(env, task, errorEvent); in InitTaskPoolFunc()
561 task->success_ = false; in InitTaskPoolFunc()
562 NotifyTaskResult(env, task, err); in InitTaskPoolFunc()
589 void Worker::UpdateLongTaskInfo(Task* task) in UpdateLongTaskInfo() argument
591 …HILOG_DEBUG("taskpool:: UpdateLongTaskInfo task:%{public}s", std::to_string(task->taskId_).c_str()… in UpdateLongTaskInfo()
592 TaskManager::GetInstance().StoreLongTaskInfo(task->taskId_, this); in UpdateLongTaskInfo()
596 longTasksSet_.emplace(task->taskId_); in UpdateLongTaskInfo()
609 void Worker::HandleFunctionException(napi_env env, Task* task) in HandleFunctionException() argument
615 task->DecreaseRefCount(); in HandleFunctionException()
616 task->success_ = false; in HandleFunctionException()
618 NotifyTaskResult(env, task, errorEvent); in HandleFunctionException()
621 NotifyHandleTaskResult(task); in HandleFunctionException()