Google App Engine adding Deferred Task to queue spawns multiple tasks
===

Lately I have been noticing that when I reschedule a deferred task, the task spawns into two or more of the exact same task. I just had a job that spawned into 4 identical tasks. We use code like the following to reschedule our tasks : 

    Queue q = null; 
    if (queueName == null) 
    q = QueueFactory.getDefaultQueue(); 
    else 
    q = QueueFactory.getQueue(queueName); 
    TaskOptions to = TaskOptions.Builder.withPayload(this); 
    q.add(to); 

This code is very simple but its causing a lot of problems for our application. We have even tried giving the task a name, such as : 

    to.taskName(TASK_NAME); 

to prevent duplicate tasks from spawning with no avail. Has anyone else seen this issue or have a solution to prevent the duplication.