// firstDelay = delay static FixedRateTimer doEvery_daemon(S timerName default defaultTimerName(), long delay, final O r) { ret doEvery_daemon(timerName, delay, delay, r); } static FixedRateTimer doEvery_daemon(S timerName default defaultTimerName(), long delay, long firstDelay, final O r) { FixedRateTimer timer = new(true); timer.scheduleAtFixedRate(smartTimerTask(r, timer, delay), firstDelay, delay); ret timer; } static FixedRateTimer doEvery_daemon(double delaySeconds, final O r) { ret doEvery_daemon(toMS(delaySeconds), r); }