public function pause()
    {
        $ResqueStatus = $this->ResqueStatus;

        $actionMessage = function ($pid) {
            return __d('cake_resque', 'Pausing {0} ... ', $pid);
        };

        $successCallback = function ($worker) use ($ResqueStatus) {
            $ResqueStatus->setPausedWorker((string)$worker);
        };

        // Active workers
        $this->debug(__d('cake_resque', 'Fetching list of active workers'));
        $activeWorkers = CakeResque::getWorkers();
        array_walk($activeWorkers, function (&$worker) {
            $worker = (string)$worker;
        });

        // Paused workers
        $pausedWorkers = $ResqueStatus->getPausedWorker();

        return $this->_sendSignal(
            __d('cake_resque', 'Pausing workers'),
            array_diff($activeWorkers, $pausedWorkers),
            __d('cake_resque', 'There is no active workers to pause ...'),
            __d('cake_resque', 'Active workers list'),
            __d('cake_resque', 'Pause all workers'),
            __d('cake_resque', 'Worker to pause'),
            __d('cake_resque', 'Pausing the Scheduler Worker ... '),
            $actionMessage,
            null,
            $successCallback,
            'USR2'
        );
    }