MCPcopy Create free account
hub / github.com/Codeya-IDE/deepin-ide / addGenerateTask

Method addGenerateTask

src/plugins/smartut/manager/uttaskpool.cpp:36–59  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

34}
35
36void UTTaskPool::addGenerateTask(const Task &task)
37{
38 if (!idleModels.contains(task.model))
39 createModels(task.model);
40
41 if (idleModels.value(task.model).isEmpty()) {
42 taskQueue.enqueue(task);
43 } else {
44 auto llm = idleModels[task.model].takeFirst();
45 busyModels[task.model].append(llm);
46 llmItemMap.insert(llm, task.item);
47 auto handler = std::bind(&UTTaskPool::handleReceiveResult, this, task.item, _1, _2);
48 Q_EMIT started(task.item);
49
50 const QString &tstFW = SmartUTManager::instance()->utSetting()->value(kActiveGroup, kActiveTestFramework).toString();
51 if (Utils::isCMakeFile(task.item->itemNode->filePath())) {
52 const auto &cmakePrompt = Utils::createCMakePrompt(tstFW);
53 llm->request(Utils::createRequestPrompt(task.item->itemNode->asFileNode(), "", cmakePrompt), handler);
54 } else {
55 const auto &userPrompt = SmartUTManager::instance()->userPrompt(tstFW);
56 llm->request(Utils::createRequestPrompt(task.item->itemNode->asFileNode(), "", userPrompt), handler);
57 }
58 }
59}
60
61void UTTaskPool::stop(bool notify)
62{

Callers 1

generateUTFilesMethod · 0.80

Calls 12

insertMethod · 0.80
utSettingMethod · 0.80
userPromptMethod · 0.80
containsMethod · 0.45
isEmptyMethod · 0.45
valueMethod · 0.45
enqueueMethod · 0.45
appendMethod · 0.45
toStringMethod · 0.45
filePathMethod · 0.45
requestMethod · 0.45
asFileNodeMethod · 0.45

Tested by

no test coverage detected