Add scheduler

use scheduler to update history

also support forceUpdate in grunt