コード例 #1
0
/**
 * Resque_EventHandler class perferm the default behavior for events.
 *
 * @package system\resque\components
 * @author Vincent.Hou <*****@*****.**>
 *
 */
Resque_Event::listen('afterEnqueue', array('Resque_EmailEventHandler', 'afterEnqueue'));
Resque_Event::listen('beforePerform', array('Resque_EmailEventHandler', 'beforePerform'));
Resque_Event::listen('afterPerform', array('Resque_EmailEventHandler', 'afterPerform'));
Resque_Event::listen('beforeFirstFork', array('Resque_EmailEventHandler', 'beforeFirstFork'));
Resque_Event::listen('beforeFork', array('Resque_EmailEventHandler', 'beforeFork'));
Resque_Event::listen('afterFork', array('Resque_EmailEventHandler', 'afterFork'));
Resque_Event::listen('onFailure', array('Resque_EmailEventHandler', 'onFailure'));
Resque_Event::listen('afterSchedule', array('Resque_EmailEventHandler', 'afterSchedule'));
Resque_Event::listen('afterRetry', array('Resque_EmailEventHandler', 'afterRetry'));
class Resque_EmailEventHandler
{
    public static function afterEnqueue($class, $args, $queue)
    {
        ResqueUtil::log('[afterEnqueue]Job class ' . $class . ' enqueued ' . $queue . ' queue with arguments:' . CJSON::encode($args));
    }
    public static function beforePerform($job)
    {
        ResqueUtil::log('[beforePerform]Begin to perform job ' . $job);
    }
    public static function afterPerform($job)
    {
        ResqueUtil::log('[afterPerform]Just performed job ' . $job);
    }
    public static function beforeFirstFork($worker)
コード例 #2
0
<?php

namespace backend\modules\resque\components\lib\Resque;

use backend\modules\resque\components\ResqueUtil;
require_once dirname(__FILE__) . '/../Resque.php';
require_once dirname(__FILE__) . '/Worker.php';
Resque_Event::listen('afterEnqueue', array('Resque_Scaler', 'afterEnqueue'));
Resque_Event::listen('beforeFork', array('Resque_Scaler', 'beforeFork'));
class Resque_Scaler
{
    // define how many jobs require how many workers.
    public static $SCALE_SETTING = array(15 => 2, 25 => 3, 40 => 4, 60 => 5);
    public static function afterEnqueue($class, $arguments, $queue)
    {
        ResqueUtil::log("Job was queued for " . $class . ".\n");
        if (self::check_need_worker($queue)) {
            ResqueUtil::log("we need more workers\n");
            self::add_worker($queue);
        } else {
            ResqueUtil::log("workers is enough.\n");
        }
    }
    public static function beforeFork($job)
    {
        ResqueUtil::log("Just about to perform " . $job . "\n");
        if (self::check_kill_worker($job->queue)) {
            ResqueUtil::log("too many workers...kill this one.\n");
            // NOTE: tried to kill with $worker->shutdown but it's not working. use kill to send SIGQUIT instead.
            $server_workers = self::server_workers(self::get_all_workers($job->queue));
            $current_workers = $server_workers[self::get_hostname()];
コード例 #3
0
 * @author Vincent.Hou <*****@*****.**>
 */
/**
 * Resque_EventHandler class perferm the default behavior for events.
 *
 * @package system\resque\components
 * @author Vincent.Hou <*****@*****.**>
 *
 */
// Resque_Event::listen('afterEnqueue', array('Resque_EventHandler', 'afterEnqueue'));
// Resque_Event::listen('beforePerform', array('Resque_EventHandler', 'beforePerform'));
// Resque_Event::listen('afterPerform', array('Resque_EventHandler', 'afterPerform'));
// Resque_Event::listen('beforeFirstFork', array('Resque_EventHandler', 'beforeFirstFork'));
// Resque_Event::listen('beforeFork', array('Resque_EventHandler', 'beforeFork'));
// Resque_Event::listen('afterFork', array('Resque_EventHandler', 'afterFork'));
Resque_Event::listen('onFailure', array('Resque_EventHandler', 'onFailure'));
// Resque_Event::listen('afterSchedule', array('Resque_EventHandler', 'afterSchedule'));
// Resque_Event::listen('afterRetry', array('Resque_EventHandler', 'afterRetry'));
class Resque_EventHandler
{
    public static function afterEnqueue($class, $args, $queue)
    {
        ResqueUtil::log('[afterEnqueue]Job class ' . $class . ' enqueued ' . $queue . ' queue with arguments:' . CJSON::encode($args));
    }
    public static function beforePerform($job)
    {
        ResqueUtil::log('[beforePerform]Begin to perform job ' . $job);
    }
    public static function afterPerform($job)
    {
        ResqueUtil::log('[afterPerform]Just performed job ' . $job);
コード例 #4
0
ファイル: RResque.php プロジェクト: timelessmemory/uhkklp
 /**
  * Listen on the pre-defined event
  *
  * This makes it possible to listen on the event triggered on runtime,
  * and execute the callback function passed in when the event is triggered.
  * The supported events can be found in the project wiki
  *
  * @param string $event
  *            Name of event to listen on.
  * @param mixed $callback
  *            Any callback callable by call_user_func_array.
  */
 public function listen($event, $callback)
 {
     Resque_Event::listen($event, $callback);
 }