Update timer with a past time makes user task listener can't be triggered

Thanks for your reply. I use the method I found in this post, changing the job due date(Update Timer using the Java API). I tried several times, at first the task listener never get hit, but today, all of a sudden, the listener can work now. However, when I set the timer from a future date to a past time, it took 10s - 1min for the task listener to be hit. If I set the time to like 10s after present time, it worked very quickly. Do you see what might cause it?