added before_perform method that check if synchronization should be executed or not
added support of scheduling jobs on demand