本文整理汇总了C++中TaskPtr::GetTaskInfo方法的典型用法代码示例。如果您正苦于以下问题:C++ TaskPtr::GetTaskInfo方法的具体用法?C++ TaskPtr::GetTaskInfo怎么用?C++ TaskPtr::GetTaskInfo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TaskPtr
的用法示例。
在下文中一共展示了TaskPtr::GetTaskInfo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SchedulerProcessor
void* SchedulerProcessor() {
bool flag = true;
while(true) {
vector<string> machines = MachinePoolI::Instance()->GetAllMachineEndpoint();
if(machines.size() == 0) {
//没有机器,不能一直查询
//LOG4CPLUS_INFO(logger, "no machine right now...");
sleep(1);
} else {
if(flag) {
LOG4CPLUS_INFO(logger, "begin to generate request");
//有机器再启动线请求程,只能启动一次
thread request_generator_t(RequestGenerator);
//这个线程主要修改rate
RequestI::Instance()->Start();
flag = false;
}
for(vector<string>::iterator it = machines.begin(); it != machines.end(); it++) {
TaskPtr task;
TaskBufferI::Instance()->PopFront(&task);
try {
Proxy<WorkerClient> proxy = Rpc<WorkerClient, WorkerClient>::GetProxy(*it);
proxy().StartTask(task->GetTaskInfo());
} catch (TException &tx) {
LOG4CPLUS_WARN(logger, "machine " << *it << " is down");
MachinePoolI::Instance()->Delete(*it);
}
}
}
}
return NULL;
}