MCPcopy Create free account
hub / github.com/apache/mesos / offers

Method offers

src/examples/java/V1TestFramework.java:174–246  ·  view source on GitHub ↗
(Mesos mesos, List<Offer> offers)

Source from the content-addressed store, hash-verified

172 }
173
174 public void offers(Mesos mesos, List<Offer> offers) {
175 double CPUS_PER_TASK = 1;
176 double MEM_PER_TASK = 128;
177
178 for (Offer offer : offers) {
179 Offer.Operation.Launch.Builder launch =
180 Offer.Operation.Launch.newBuilder();
181
182 double offerCpus = 0;
183 double offerMem = 0;
184 for (Resource resource : offer.getResourcesList()) {
185 if (resource.getName().equals("cpus")) {
186 offerCpus += resource.getScalar().getValue();
187 } else if (resource.getName().equals("mem")) {
188 offerMem += resource.getScalar().getValue();
189 }
190 }
191
192 System.out.println(
193 "Received offer " + offer.getId().getValue() + " with cpus: " +
194 offerCpus + " and mem: " + offerMem);
195
196 double remainingCpus = offerCpus;
197 double remainingMem = offerMem;
198 while (launchedTasks < totalTasks &&
199 remainingCpus >= CPUS_PER_TASK &&
200 remainingMem >= MEM_PER_TASK) {
201 TaskID taskId = TaskID.newBuilder()
202 .setValue(Integer.toString(launchedTasks++)).build();
203
204 System.out.println("Launching task " + taskId.getValue() +
205 " using offer " + offer.getId().getValue());
206
207 TaskInfo task = TaskInfo.newBuilder()
208 .setName("task " + taskId.getValue())
209 .setTaskId(taskId)
210 .setAgentId(offer.getAgentId())
211 .addResources(Resource.newBuilder()
212 .setName("cpus")
213 .setType(Value.Type.SCALAR)
214 .setScalar(Value.Scalar.newBuilder()
215 .setValue(CPUS_PER_TASK)
216 .build()))
217 .addResources(Resource.newBuilder()
218 .setName("mem")
219 .setType(Value.Type.SCALAR)
220 .setScalar(Value.Scalar.newBuilder()
221 .setValue(MEM_PER_TASK)
222 .build()))
223 .setExecutor(ExecutorInfo.newBuilder(executor))
224 .build();
225
226 launch.addTaskInfos(TaskInfo.newBuilder(task));
227
228 remainingCpus -= CPUS_PER_TASK;
229 remainingMem -= MEM_PER_TASK;
230 }
231

Callers 1

receivedMethod · 0.95

Calls 4

getIdMethod · 0.80
sendMethod · 0.65
equalsMethod · 0.45
toStringMethod · 0.45

Tested by

no test coverage detected