Changeset 341


Ignore:
Timestamp:
04/06/10 11:40:45 (9 years ago)
Author:
sander
Message:

Add commandline shell to schedule validator reruns

Location:
trunk/server/www/app
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/server/www/app/models/gallery.php

    r327 r341  
    216216         * @return array 
    217217         */ 
    218         public function getRequests($id = null) 
     218        public function getRequests($id = null, $contain = array()) 
    219219        { 
    220220                if (!$id) { 
     
    245245                                AND `Gallery`.`rght` < ' . $gallery['Gallery']['rght']); 
    246246                $subgallery_request_ids = Set::extract('/GalleriesRequest/request_id', $result); 
    247  
    248247                $request_ids = Set::merge($request_ids, $subgallery_request_ids); 
    249248 
    250249                $requests = $this->Request->find('all', array( 
    251                         'contain' => array('Job', 'Mimetype'), 
     250                        'contain' => $contain, 
    252251                        'conditions' => array('Request.id' => $request_ids), 
    253252                )); 
  • trunk/server/www/app/models/testsuite.php

    r321 r341  
    270270 
    271271                $workers = $this->Worker->getActive(true); 
    272                 $requests = $this->_getRequests(); 
     272                $requests = $this->getRequests(false, array('Job', 'Mimetype')); 
    273273 
    274274                foreach ($requests as $request) { 
     
    280280         * Get all requests and jobs that belong to all test suites 
    281281         */ 
    282         private function _getRequests() 
     282        public function getRequests($id = false, $contain = array()) 
    283283        { 
    284284                $requests = array(); 
    285                 $suites = $this->find('all', array('recursive' => -1)); 
    286  
     285                $options = array('recursive' => -1); 
     286 
     287                if ($id) { 
     288                        $options['conditions'] = array('Testsuite.id' => $id); 
     289                } 
     290 
     291                $suites = $this->find('all', $options); 
    287292                foreach ($suites as $suite) { 
    288293                        $requests = Set::merge( 
    289294                                $requests, 
    290                                 $this->Gallery->getRequests($suite['Testsuite']['gallery_id']) 
     295                                $this->Gallery->getRequests($suite['Testsuite']['gallery_id'], $contain) 
    291296                        ); 
    292297                } 
  • trunk/server/www/app/models/validator.php

    r322 r341  
    3131        const STATE_ERROR       = 4; 
    3232 
     33        /** @var array Model behaviors */ 
     34        public $actsAs = array( 
     35                'Containable', 
     36                'BeanStalk.Deferrable' => array('priority' => 2048), 
     37        ); 
     38 
    3339        /** 
    3440         * @var string The parent models. 
     
    4147        ); 
    4248 
    43         public $actsAs = array('Containable'); 
    44  
     49        /** 
     50         * Run the validator. Requires $this->id to be set. 
     51         */ 
    4552        public function run() 
    4653        { 
     
    208215                curl_setopt($curl, CURLOPT_POSTFIELDS, file_get_contents($path)); 
    209216                curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    210                 curl_setopt($curl, CURLOPT_TIMEOUT, 30); 
     217                curl_setopt($curl, CURLOPT_TIMEOUT, 120); 
    211218                $this->response = curl_exec($curl); 
    212219                curl_close($curl); 
     
    284291                )); 
    285292                curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    286                 curl_setopt($curl, CURLOPT_TIMEOUT, 30); 
     293                curl_setopt($curl, CURLOPT_TIMEOUT, 120); 
    287294                $this->response = curl_exec($curl); 
    288295                curl_close($curl); 
  • trunk/server/www/app/plugins/bean_stalk/models/behaviors/deferrable.php

    r271 r341  
    3030        private static $beanstalk = null; 
    3131 
    32         /** @var string The default settings for deferred calls */ 
    33         public $deferred_args = array( 
    34                 'priority' => 1024, 
    35                 'delay'    => 0, 
    36                 'ttr'      => 120, 
    37                 'tube'     => 'default' 
    38         ); 
     32        /** @var string The settings for deferred calls */ 
     33        public $deferred_args = array(); 
    3934 
    4035        /** 
     
    4641        public function setup(&$Model, $deferred_args = array()) 
    4742        { 
    48                 $this->deferred_args['tube'] = BeanStalkManager::$config['default_tube']; 
     43                if (!isset($this->deferred_args[$Model->alias])) { 
     44                        $this->deferred_args[$Model->alias] = array( 
     45                                'priority' => 1024, 
     46                                'delay'    => 0, 
     47                                'ttr'      => 120, 
     48                                'tube'     => BeanStalkManager::$config['default_tube'], 
     49                        ); 
     50                } 
    4951 
    5052                if (!$deferred_args) { 
     
    5658                } 
    5759 
    58                 $this->deferred_args = array_merge($this->deferred_args, $deferred_args); 
     60                $this->deferred_args[$Model->alias] = array_merge($this->deferred_args[$Model->alias], $deferred_args); 
    5961        } 
    6062 
     
    7880                } 
    7981 
    80                 $deferred_args = array_merge($this->deferred_args, $deferred_args); 
     82                $deferred_args = array_merge($this->deferred_args[$Model->alias], $deferred_args); 
    8183                $message = array( 
    8284                        'type'   => 'deferred', 
Note: See TracChangeset for help on using the changeset viewer.