Changeset 6030
- Timestamp:
- 05/22/07 17:07:41 (2 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/midcom.helper.replicator/cron/queuenondba.php
r5742 r6030 15 15 { 16 16 var $_qm = false; 17 var $skip_classes = array 18 ( 19 'midcom_helper_replicator_subscription', 20 'midcom_services_at_entry', 21 ); 17 22 18 23 function _on_initialize() … … 26 31 function _on_execute() 27 32 { 33 // TODO: Figure out a better way to handle these 34 ini_set('max_execution_time', 0); 35 ini_set('memory_limit', -1); 28 36 debug_push_class(__CLASS__, __FUNCTION__); 29 37 debug_add('_on_execute called'); … … 38 46 return; 39 47 } 48 if (!$this->_qm->can_add_to_queue()) 49 { 50 debug_add("We don't have any usable subscriptions, lets not waste resources any further", MIDCOM_LOG_INFO); 51 debug_pop(); 52 return; 53 } 40 54 41 55 foreach($_MIDGARD['schema']['types'] as $mgdschema_class => $dummy) … … 43 57 if (empty($mgdschema_class)) 44 58 { 59 // safety 45 60 continue; 46 61 } 62 if (in_array($mgdschema_class, $this->skip_classes)) 63 { 64 continue; 65 } 66 47 67 $this->queue_type($mgdschema_class); 48 68 } trunk/src/midcom.helper.replicator/queuemanager.php
r6013 r6030 47 47 return true; 48 48 } 49 49 50 /** 51 * Check if we have any valid queues to add data to 52 * 53 * @return boolean indicating state 54 */ 55 function can_add_to_queue() 56 { 57 $qb = midcom_helper_replicator_subscription_dba::new_query_builder(); 58 $qb->add_constraint('status', '=', MIDCOM_REPLICATOR_AUTOMATIC); 59 $qb->set_limit(1); 60 $count = $qb->count(); 61 if ($count) 62 { 63 return true; 64 } 65 return false; 66 } 67 50 68 /** 51 69 * This method will check exporters of each subscription whether they are interested … … 61 79 debug_push_class(__CLASS__, __FUNCTION__); 62 80 $qb = midcom_helper_replicator_subscription_dba::new_query_builder(); 81 // NOTE: if this constraint is changed see can_add_to_queue() 63 82 $qb->add_constraint('status', '=', MIDCOM_REPLICATOR_AUTOMATIC); 64 83 $subscriptions = $qb->execute();
