提交 35e28f81 编写于 作者: W wxyu

MS-414 Add TaskType in Scheduler::Task


Former-commit-id: d470511e0d22832db09607ad017c6dd4a697cf05
上级 662320c0
...@@ -50,6 +50,7 @@ Please mark all change in change log and use the ticket from JIRA. ...@@ -50,6 +50,7 @@ Please mark all change in change log and use the ticket from JIRA.
- MS-408 - Add device_id in resource construct function - MS-408 - Add device_id in resource construct function
- MS-409 - Using new scheduler - MS-409 - Using new scheduler
- MS-410 - Add resource config comment - MS-410 - Add resource config comment
- MS-414 - Add TaskType in Scheduler::Task
## New Feature ## New Feature
- MS-343 - Implement ResourceMgr - MS-343 - Implement ResourceMgr
......
...@@ -12,7 +12,7 @@ namespace milvus { ...@@ -12,7 +12,7 @@ namespace milvus {
namespace engine { namespace engine {
XDeleteTask::XDeleteTask(DeleteContextPtr &delete_context) XDeleteTask::XDeleteTask(DeleteContextPtr &delete_context)
: delete_context_ptr_(delete_context) {} : Task(TaskType::DeleteTask), delete_context_ptr_(delete_context) {}
void void
XDeleteTask::Load(LoadType type, uint8_t device_id) { XDeleteTask::Load(LoadType type, uint8_t device_id) {
......
...@@ -81,11 +81,12 @@ CollectFileMetrics(int file_type, size_t file_size) { ...@@ -81,11 +81,12 @@ CollectFileMetrics(int file_type, size_t file_size) {
} }
} }
XSearchTask::XSearchTask(TableFileSchemaPtr file) : file_(file) { XSearchTask::XSearchTask(TableFileSchemaPtr file)
: Task(TaskType::SearchTask), file_(file) {
index_engine_ = EngineFactory::Build(file_->dimension_, index_engine_ = EngineFactory::Build(file_->dimension_,
file_->location_, file_->location_,
(EngineType) file_->engine_type_, (EngineType) file_->engine_type_,
(MetricType)file_->metric_type_, (MetricType) file_->metric_type_,
file_->nlist_); file_->nlist_);
} }
......
...@@ -21,13 +21,20 @@ enum class LoadType { ...@@ -21,13 +21,20 @@ enum class LoadType {
GPU2CPU, GPU2CPU,
}; };
enum class TaskType {
SearchTask,
DeleteTask,
TestTask,
};
class Task; class Task;
using TaskPtr = std::shared_ptr<Task>; using TaskPtr = std::shared_ptr<Task>;
class Task { class Task {
public: public:
Task() = default; explicit
Task(TaskType type) : type_(type) {}
virtual void virtual void
Load(LoadType type, uint8_t device_id) = 0; Load(LoadType type, uint8_t device_id) = 0;
...@@ -39,9 +46,13 @@ public: ...@@ -39,9 +46,13 @@ public:
virtual TaskPtr virtual TaskPtr
Clone() = 0; Clone() = 0;
inline TaskType
Type() const { return type_; }
public: public:
std::vector<SearchContextPtr> search_contexts_; std::vector<SearchContextPtr> search_contexts_;
ScheduleTaskPtr task_; ScheduleTaskPtr task_;
TaskType type_;
}; };
......
...@@ -11,6 +11,8 @@ namespace zilliz { ...@@ -11,6 +11,8 @@ namespace zilliz {
namespace milvus { namespace milvus {
namespace engine { namespace engine {
TestTask::TestTask() : Task(TaskType::TestTask) {}
void void
TestTask::Load(LoadType type, uint8_t device_id) { TestTask::Load(LoadType type, uint8_t device_id) {
load_count_++; load_count_++;
......
...@@ -14,7 +14,7 @@ namespace engine { ...@@ -14,7 +14,7 @@ namespace engine {
class TestTask : public Task { class TestTask : public Task {
public: public:
TestTask() = default; TestTask();
public: public:
void void
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册