Package play.jobs

Class Job<V>

  • Type Parameters:
    V - The job result type (if any)
    All Implemented Interfaces:
    java.lang.Runnable, java.util.concurrent.Callable<V>
    Direct Known Subclasses:
    SimpleJob

    public abstract class Job<V>
    extends Invocation
    implements java.util.concurrent.Callable<V>
    A job is an asynchronously executed unit of work
    • Field Detail

      • executor

        protected java.util.concurrent.ExecutorService executor
      • lastRun

        protected long lastRun
      • wasError

        protected boolean wasError
      • lastException

        protected java.lang.Throwable lastException
    • Constructor Detail

      • Job

        public Job()
    • Method Detail

      • doJobWithResult

        public abstract V doJobWithResult()
                                   throws java.lang.Exception
        Here you do the job and return a result
        Returns:
        The job result
        Throws:
        java.lang.Exception
      • execute

        public void execute()
        Description copied from class: Invocation
        Override this method
        Specified by:
        execute in class Invocation
      • now

        public Promise<V> now()
        Start this job now (well ASAP)
        Returns:
        the job completion
      • in

        public Promise<V> in​(java.lang.String delay)
        Start this job in several seconds
        Parameters:
        delay - time in seconds
        Returns:
        the job completion
      • in

        public Promise<V> in​(int seconds)
        Start this job in several seconds
        Parameters:
        seconds - time in seconds
        Returns:
        the job completion
      • every

        public void every​(java.lang.String delay)
        Run this job every n seconds
        Parameters:
        delay - time in seconds
      • every

        public void every​(int seconds)
        Run this job every n seconds
        Parameters:
        seconds - time in seconds
      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
      • call

        public V call()
        Specified by:
        call in interface java.util.concurrent.Callable<V>
      • _finally

        protected void _finally()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object