本文整理汇总了Golang中github.com/mesos/mesos-go/mesosproto.TaskID类的典型用法代码示例。如果您正苦于以下问题:Golang TaskID类的具体用法?Golang TaskID怎么用?Golang TaskID使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TaskID类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: tryKillTask
func (this *ElodinaTransportScheduler) tryKillTask(driver scheduler.SchedulerDriver, taskId *mesos.TaskID) error {
log.Logger.Info("Trying to kill task %s", taskId.GetValue())
var err error
for i := 0; i <= this.config.KillTaskRetries; i++ {
if _, err = driver.KillTask(taskId); err == nil {
return nil
}
}
return err
}
开发者ID:elodina,项目名称:syphon,代码行数:10,代码来源:scheduler.go
示例2: tryKillTask
func (this *TransformScheduler) tryKillTask(driver scheduler.SchedulerDriver, taskId *mesos.TaskID) error {
fmt.Printf("Trying to kill task %s\n", taskId.GetValue())
var err error
for i := 0; i <= this.config.KillTaskRetries; i++ {
if _, err = driver.KillTask(taskId); err == nil {
return nil
}
}
return err
}
开发者ID:stealthly,项目名称:edge-test,代码行数:11,代码来源:scheduler.go
示例3: KillTask
// KillTask is called when the executor receives a request to kill a task.
func (k *KubernetesExecutor) KillTask(driver bindings.ExecutorDriver, taskId *mesos.TaskID) {
if k.isDone() {
return
}
log.Infof("Kill task %v\n", taskId)
if !k.isConnected() {
//TODO(jdefelice) sent TASK_LOST here?
log.Warningf("Ignore kill task because the executor is disconnected\n")
return
}
k.lock.Lock()
defer k.lock.Unlock()
k.removePodTask(driver, taskId.GetValue(), messages.TaskKilled, mesos.TaskState_TASK_KILLED)
}
开发者ID:pologood,项目名称:kubernetes,代码行数:17,代码来源:executor.go
示例4: KillTask
// KillTask is called when the executor receives a request to kill a task.
func (k *Executor) KillTask(driver bindings.ExecutorDriver, taskId *mesos.TaskID) {
k.killPodTask(driver, taskId.GetValue())
}
开发者ID:XiaoningDing,项目名称:UbernetesPOC,代码行数:4,代码来源:executor.go
示例5: KillTask
func (e *Executor) KillTask(driver executor.ExecutorDriver, id *mesos.TaskID) {
Logger.Infof("[KillTask] %s", id.GetValue())
e.stop()
}
开发者ID:elodina,项目名称:stockpile,代码行数:4,代码来源:executor.go
示例6: removeTask
func (this *ElodinaTransportScheduler) removeTask(id *mesos.TaskID) {
delete(this.taskIdToTaskState, id.GetValue())
}
开发者ID:elodina,项目名称:syphon,代码行数:3,代码来源:scheduler.go
示例7: KillTask
func (e *Executor) KillTask(driver executor.ExecutorDriver, id *mesos.TaskID) {
Logger.Infof("[KillTask] %s", id.GetValue())
e.producer.Stop()
e.close <- struct{}{}
}
开发者ID:sunshine-zhd1229,项目名称:go_kafka_client,代码行数:5,代码来源:executor.go
示例8: KillTask
func (e *MirrorMakerExecutor) KillTask(driver executor.ExecutorDriver, id *mesos.TaskID) {
Logger.Infof("[KillTask] %s", id.GetValue())
e.mirrorMaker.Stop()
}
开发者ID:elodina,项目名称:go-kafka-client-mesos,代码行数:4,代码来源:mirror_maker_executor.go
示例9: ResourceOffers
func (s *MinerScheduler) ResourceOffers(driver sched.SchedulerDriver, offers []*mesos.Offer) {
for i, offer := range offers {
memResources := util.FilterResources(offer.Resources, func(res *mesos.Resource) bool {
return res.GetName() == "mem"
})
mems := 0.0
for _, res := range memResources {
mems += res.GetScalar().GetValue()
}
cpuResources := util.FilterResources(offer.Resources, func(res *mesos.Resource) bool {
return res.GetName() == "cpus"
})
cpus := 0.0
for _, res := range cpuResources {
cpus += res.GetScalar().GetValue()
}
portsResources := util.FilterResources(offer.Resources, func(res *mesos.Resource) bool {
return res.GetName() == "ports"
})
var ports uint64
for _, res := range portsResources {
port_ranges := res.GetRanges().GetRange()
for _, port_range := range port_ranges {
ports += port_range.GetEnd() - port_range.GetBegin()
}
}
// If a miner server is running, we start a new miner daemon. Otherwise, we start a new miner server.
tasks := make([]*mesos.TaskInfo, 0)
if !s.minerServerRunning && mems >= MEM_PER_SERVER_TASK && cpus >= CPU_PER_SERVER_TASK && ports >= 2 {
var taskId *mesos.TaskID
var task *mesos.TaskInfo
// we need two ports
var p2pool_port uint64
var worker_port uint64
// A rather stupid algorithm for picking two ports
// The difficulty here is that a range might only include one port,
// in which case we will need to pick another port from another range.
for _, res := range portsResources {
r := res.GetRanges().GetRange()[0]
begin := r.GetBegin()
end := r.GetEnd()
if p2pool_port == 0 {
p2pool_port = begin
if worker_port == 0 && (begin+1) <= end {
worker_port = begin + 1
break
}
continue
}
if worker_port == 0 {
worker_port = begin
break
}
}
taskId = &mesos.TaskID{
Value: proto.String("miner-server-" + strconv.Itoa(i)),
}
containerType := mesos.ContainerInfo_DOCKER
task = &mesos.TaskInfo{
Name: proto.String("task-" + taskId.GetValue()),
TaskId: taskId,
SlaveId: offer.SlaveId,
Container: &mesos.ContainerInfo{
Type: &containerType,
Docker: &mesos.ContainerInfo_DockerInfo{
Image: proto.String(MINER_SERVER_DOCKER_IMAGE),
},
},
Command: &mesos.CommandInfo{
Shell: proto.Bool(false),
Arguments: []string{
// these arguments will be passed to run_p2pool.py
"--bitcoind-address", *bitcoindAddr,
"--p2pool-port", strconv.Itoa(int(p2pool_port)),
"-w", strconv.Itoa(int(worker_port)),
s.rpc_user, s.rpc_pass,
},
},
Resources: []*mesos.Resource{
util.NewScalarResource("cpus", CPU_PER_SERVER_TASK),
util.NewScalarResource("mem", MEM_PER_SERVER_TASK),
},
}
log.Infof("Prepared task: %s with offer %s for launch\n", task.GetName(), offer.Id.GetValue())
cpus -= CPU_PER_SERVER_TASK
mems -= MEM_PER_SERVER_TASK
// update state
s.minerServerHostname = offer.GetHostname()
s.minerServerRunning = true
s.minerServerPort = int(worker_port)
tasks = append(tasks, task)
//.........这里部分代码省略.........
开发者ID:IRCody,项目名称:Mesos-Bitcoin-Miner,代码行数:101,代码来源:scheduler.go
注:本文中的github.com/mesos/mesos-go/mesosproto.TaskID类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论