def create_task(self, offer, t, cpus): task = mesos_pb2.TaskInfo() task.task_id.value = "%d-%d" % (t.id, t.tried) task.slave_id.value = offer.slave_id.value task.name = "task %s/%d" % (t.id, self.options.tasks) task.executor.MergeFrom(self.executor) env = dict(os.environ) env['DRUN_RANK'] = str(t.id) env['DRUN_SIZE'] = str(self.options.tasks) command = self.command[:] if self.options.expand: for i, x in enumerate(command): command[i] = x % {'RANK': t.id, 'SIZE': self.options.tasks} task.data = pickle.dumps([os.getcwd(), command, env, self.options.shell, self.std_port, self.err_port, None]) cpu = task.resources.add() cpu.name = "cpus" cpu.type = 0 # mesos_pb2.Value.SCALAR cpu.scalar.value = min(self.cpus, cpus) mem = task.resources.add() mem.name = "mem" mem.type = 0 # mesos_pb2.Value.SCALAR mem.scalar.value = min(self.mem, mem) return task
def create_task(self, offer, t, k): task = mesos_pb2.TaskInfo() task.task_id.value = "%s-%s" % (t.id, t.tried) task.slave_id.value = offer.slave_id.value task.name = "task %s" % t.id task.executor.MergeFrom(self.executor) env = dict(os.environ) task.data = pickle.dumps([os.getcwd(), None, env, self.options.shell, self.std_port, self.err_port, self.publisher_port]) cpus, mem = self.getResource(offer) cpu = task.resources.add() cpu.name = "cpus" cpu.type = 0 #mesos_pb2.Value.SCALAR cpu.scalar.value = min(self.cpus * k, cpus) mem = task.resources.add() mem.name = "mem" mem.type = 0 #mesos_pb2.Value.SCALAR mem.scalar.value = min(self.mem * k, mem) return task