1. A system for application task scheduling at a communication device, comprising: a processor; a polling task configured for execution by the processor, wherein the polling task executes during a first CPU time window and sleeps during a second CPU time window; a work task configured for an execution during the second CPU time window; and a scheduler assistant (SA) task having an execution state to indicate to the polling task a status of the execution of the work task, the SA task configured to run if the work task runs to completion within the second CPU time window; wherein the polling task is configured to, during the first CPU time window, shrink or expand the first or second CPU time window according to the execution state of the SA task; wherein the SA task is configured to run for a portion of the second CPU time window, the portion sufficient for the SA task to wake up, set the execution state and suspend itself.