Package org.playorm.cron.api

Examples of org.playorm.cron.api.PlayOrmCronJob


  }

  public static PlayOrmCronJob copy(MonitorDbo monitor) {
    if(monitor == null)
      return null;
    PlayOrmCronJob mon = new PlayOrmCronJob();
    mon.setId(monitor.getId());
    mon.setTimePeriodMillis(monitor.getTimePeriodMillis());
    mon.setEpochOffset(monitor.getEpochOffset());
    String props = monitor.getRawProperties();
    String[] propsArray = props.split("\\|");
    for(String prop : propsArray) {
      String[] kv = prop.split("=");
      mon.addProperty(kv[0], kv[1]);
    }
    return mon;
  }
View Full Code Here


  private void runMonitor(NoSqlEntityManager mgr, MonitorDbo monitor,
      DateTime now) {
    if(log.isDebugEnabled())
      log.debug("run monitor="+monitor.getId());
    PlayOrmCronJob p = CopyUtil.copy(monitor);
    fireToListener(p);
    monitor.setLastRun(now);
    mgr.put(monitor);
    mgr.flush();
  }
View Full Code Here

  public void monitorFired(PlayOrmCronJob m) {
    this.lastFired = m;
  }

  public PlayOrmCronJob getLastFiredMonitor() {
    PlayOrmCronJob temp = lastFired;
    lastFired = null;
    return temp;
  }
View Full Code Here

    other.clearDatabase(true);
  }
 
  @Test
  public void testOffsetFromEpoch() throws InterruptedException {
    PlayOrmCronJob monitor = new PlayOrmCronJob();
    monitor.setId("coolMon");
    monitor.setEpochOffset(3000L);
    monitor.setTimePeriodMillis(10000);
    monitor.addProperty("email", "dean@xsoftware");
    monitor.addProperty("myName", "dean");
    server1Monitor.saveMonitor(monitor);

    PlayOrmCronJob m = server1Monitor.getMonitor(monitor.getId());
    Assert.assertEquals(monitor.getTimePeriodMillis(), m.getTimePeriodMillis());
    String email1 = monitor.getProperties().get("email");
    String emailB = m.getProperties().get("email");
    Assert.assertEquals(email1, emailB);

    mockTime.addReturnTime(32000);
    mockHash.addReturnValue(0); //identify the first server and run server 1
    clusterChecker1.run();
    Assert.assertNull(listener1.getLastFiredMonitor());

    mockTime.addReturnTime(32600);
    mockHash.addReturnValue(0); //identify the first server and run server 1
    clusterChecker1.run();   

    PlayOrmCronJob job = listener1.getLastFiredMonitor();
    Assert.assertEquals(monitor.getId(), job.getId());
   
    mockTime.addReturnTime(39000);
    mockHash.addReturnValue(0); //identify the first server and run server 1
    clusterChecker1.run();
    Assert.assertNull(listener1.getLastFiredMonitor());   
   
    mockTime.addReturnTime(50000);
    mockHash.addReturnValue(0); //identify the first server and run server 1
    clusterChecker1.run();
   
    PlayOrmCronJob job2 = listener1.getLastFiredMonitor();
    Assert.assertEquals(monitor.getId(), job2.getId());
  }
View Full Code Here

    other.clearDatabase(true);
  }
 
  @Test
  public void testBasic() throws InterruptedException {
    PlayOrmCronJob monitor = new PlayOrmCronJob();
    monitor.setId("asdf");
    monitor.setTimePeriodMillis(1);
    monitor.addProperty("email", "dean@xsoftware");
    monitor.addProperty("myName", "dean");
    server1Monitor.saveMonitor(monitor);

    PlayOrmCronJob m = server1Monitor.getMonitor(monitor.getId());
    Assert.assertEquals(monitor.getTimePeriodMillis(), m.getTimePeriodMillis());
    String email1 = monitor.getProperties().get("email");
    String emailB = m.getProperties().get("email");
    Assert.assertEquals(email1, emailB);
   
    mockHash.addReturnValue(1); //identify the second server and run server 1 then server 2
    clusterChecker1.run();
    mockHash.addReturnValue(1);
    clusterChecker2.run();

    Assert.assertNull(listener1.getLastFiredMonitor());
    m = listener2.getLastFiredMonitor();
    Assert.assertEquals(monitor.getId(), m.getId());
   
    Thread.sleep(30);// now if we run again, the period is one millisecond so it should run again
   
    mockHash.addReturnValue(1);
    clusterChecker2.run();
   
    m = listener2.getLastFiredMonitor();
    Assert.assertEquals(monitor.getId(), m.getId());
   

    String email2 = m.getProperties().get("email");
    Assert.assertEquals(email1, email2);
  }
View Full Code Here

  private void runMonitor(NoSqlEntityManager mgr, MonitorDbo monitor,
      DateTime now) {
    if(log.isDebugEnabled())
      log.debug("run monitor="+monitor.getId());
    PlayOrmCronJob p = CopyUtil.copy(monitor);
    fireToListener(p);
    monitor.setLastRun(now);
    mgr.put(monitor);
    mgr.flush();
  }
View Full Code Here

  }

  public static PlayOrmCronJob copy(MonitorDbo monitor) {
    if(monitor == null)
      return null;
    PlayOrmCronJob mon = new PlayOrmCronJob();
    mon.setId(monitor.getId());
    mon.setTimePeriodMillis(monitor.getTimePeriodMillis());
    mon.setType(monitor.getType());
    mon.setEpochOffset(monitor.getEpochOffset());
    String props = monitor.getRawProperties();
    String[] propsArray = props.split("\\|");
    for(String prop : propsArray) {
      String[] kv = prop.split("=");
      mon.addProperty(kv[0], kv[1]);
    }
    return mon;
  }
View Full Code Here

  private void runMonitor(NoSqlEntityManager mgr, MonitorDbo monitor,
      DateTime now) {
    if(log.isDebugEnabled())
      log.debug("run monitor="+monitor.getId());
    PlayOrmCronJob p = CopyUtil.copy(monitor);
    fireToListener(p);
    monitor.setLastRun(now);
    mgr.put(monitor);
    mgr.flush();
  }
View Full Code Here

TOP

Related Classes of org.playorm.cron.api.PlayOrmCronJob

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.