1 package org.apache.lucene.benchmark.byTask.tasks;
4 * Licensed to the Apache Software Foundation (ASF) under one or more
5 * contributor license agreements. See the NOTICE file distributed with
6 * this work for additional information regarding copyright ownership.
7 * The ASF licenses this file to You under the Apache License, Version 2.0
8 * (the "License"); you may not use this file except in compliance with
9 * the License. You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
20 import org.apache.lucene.benchmark.byTask.PerfRunData;
23 * Simply waits for the specified (via the parameter) amount
24 * of time. For example Wait(30s) waits for 30 seconds.
25 * This is useful with background tasks to control how long
28 *<p>You can specify h, m, or s (hours, minutes, seconds) as
29 *the trailing time unit. No unit is interpreted as
32 public class WaitTask extends PerfTask {
34 private double waitTimeSec;
36 public WaitTask(PerfRunData runData) {
41 public void setParams(String params) {
42 super.setParams(params);
45 if (params.endsWith("s")) {
47 params = params.substring(0, params.length()-1);
48 } else if (params.endsWith("m")) {
50 params = params.substring(0, params.length()-1);
51 } else if (params.endsWith("h")) {
53 params = params.substring(0, params.length()-1);
59 waitTimeSec = Double.parseDouble(params) * multiplier;
61 throw new IllegalArgumentException("you must specify the wait time, eg: 10.0s, 4.5m, 2h");
66 public int doLogic() throws Exception {
67 Thread.sleep((long) (1000*waitTimeSec));
72 public boolean supportsParams() {