/** * Schedule all of the delayed jobs for a given timestamp. * * Searches for all items for a given timestamp, pulls them off the list of * delayed jobs and pushes them across to Resque. * * @param DateTime|int $timestamp Search for any items up to this timestamp to schedule. */ public function enqueueDelayedItemsForTimestamp($timestamp) { $item = null; while ($item = ResqueScheduler::nextItemForTimestamp($timestamp)) { $this->log('queueing ' . $item['class'] . ' in ' . $item['queue'] . ' [delayed]'); Event::trigger('beforeDelayedEnqueue', array('queue' => $item['queue'], 'class' => $item['class'], 'args' => $item['args'])); $payload = array_merge(array($item['queue'], $item['class']), $item['args']); call_user_func_array('resque\\Resque::enqueue', $payload); } }
<?php require_once __DIR__ . '/../autoload.php'; use resque\scheduler\ResqueScheduler; $in = 120; $args = array('id' => 1); ResqueScheduler::enqueueIn($in, 'default', '\\resque\\scheduler\\demo\\Job', $args);