}
}
- public synchronized boolean waitFor(int max) throws InterruptedException {
+ public synchronized boolean waitFor(int max) {
long start = System.currentTimeMillis();
try (GigiPreparedStatement ps = new GigiPreparedStatement("SELECT 1 FROM `jobs` WHERE id=? AND state='open'")) {
ps.setInt(1, id);
if (max != 0 && System.currentTimeMillis() - start > max) {
return false;
}
- Thread.sleep((long) (2000 + Math.random() * 2000));
+ try {
+ this.wait((long) (2000 + Math.random() * 2000));
+ } catch (InterruptedException ie) {
+ // Ignore the interruption
+ ie.printStackTrace();
+ }
rs = ps.executeQuery();
}
}