function run()
 {
     $queue = CRM_Core_Extensions_Upgrades::createQueue();
     $runner = new CRM_Queue_Runner(array('title' => ts('Database Upgrades'), 'queue' => $queue, 'errorMode' => CRM_Queue_Runner::ERROR_ABORT, 'onEnd' => array('CRM_Admin_Page_ExtensionsUpgrade', 'onEnd'), 'onEndUrl' => CRM_Utils_System::url(self::END_URL, self::END_PARAMS)));
     CRM_Core_Error::debug_log_message('CRM_Admin_Page_ExtensionsUpgrade: Start upgrades');
     $runner->runAllViaWeb();
     // does not return
 }
 function run()
 {
     //retrieve the queue
     $cid = CRM_Utils_Request::retrieve('cid', 'Positive', $this, TRUE, 0);
     $queue = CRM_Chapters_UpdateQueue::singleton()->getQueue();
     $runner = new CRM_Queue_Runner(array('title' => ts('Update contacts'), 'queue' => $queue, 'errorMode' => CRM_Queue_Runner::ERROR_ABORT, 'onEnd' => array('CRM_Chapters_Page_UpdateAllContacts', 'onEnd'), 'onEndUrl' => CRM_Utils_System::url('civicrm/contact/view', 'reset=1&selectedChild=tab_automatch_chapters&cid=' . $cid, true, null, false)));
     $runner->runAllViaWeb();
     // does not return
 }
示例#3
0
 function run()
 {
     $queue = CRM_Queue_Service::singleton()->create(array('type' => 'Sql', 'name' => self::QUEUE_NAME, 'reset' => TRUE));
     for ($i = 0; $i < 5; $i++) {
         $queue->createItem(new CRM_Queue_Task(array('CRM_Demoqueue_Page_DemoQueue', 'doMyWork'), array($i, "Task {$i} takes {$i} second(s)"), "Task {$i}"));
         if ($i == 2) {
             $queue->createItem(new CRM_Queue_Task(array('CRM_Demoqueue_Page_DemoQueue', 'addMoreWork'), array(), "Add More Work"));
         }
     }
     $runner = new CRM_Queue_Runner(array('title' => ts('Demo Queue Runner'), 'queue' => $queue, 'onEnd' => array('CRM_Demoqueue_Page_DemoQueue', 'onEnd'), 'onEndUrl' => CRM_Utils_System::url('civicrm/demo-queue/done')));
     $runner->runAllViaWeb();
     // does not return
 }
示例#4
0
 /**
  * Begin the upgrade by building a queue of tasks and redirecting to the queue-runner
  */
 public function runBegin()
 {
     $upgrade = new CRM_Upgrade_Form();
     list($currentVer, $latestVer) = $upgrade->getUpgradeVersions();
     if ($error = $upgrade->checkUpgradeableVersion($currentVer, $latestVer)) {
         CRM_Core_Error::fatal($error);
     }
     $config = CRM_Core_Config::singleton();
     $postUpgradeMessage = '<span class="bold">' . ts('Congratulations! Your upgrade was successful!') . '</span>';
     // lets drop all the triggers here
     CRM_Core_DAO::dropTriggers();
     $this->set('isUpgradePending', TRUE);
     // Persistent message storage across upgrade steps. TODO: Use structured message store
     // Note: In clustered deployments, this file must be accessible by all web-workers.
     $this->set('postUpgradeMessageFile', CRM_Utils_File::tempnam('civicrm-post-upgrade'));
     file_put_contents($this->get('postUpgradeMessageFile'), $postUpgradeMessage);
     $queueRunner = new CRM_Queue_Runner(array('title' => ts('CiviCRM Upgrade Tasks'), 'queue' => CRM_Upgrade_Form::buildQueue($currentVer, $latestVer, $this->get('postUpgradeMessageFile')), 'isMinimal' => TRUE, 'pathPrefix' => 'civicrm/upgrade/queue', 'onEndUrl' => CRM_Utils_System::url('civicrm/upgrade', 'action=finish', FALSE, NULL, FALSE), 'buttons' => array('retry' => $config->debug, 'skip' => $config->debug)));
     $queueRunner->runAllViaWeb();
     CRM_Core_Error::fatal(ts('Upgrade failed to redirect'));
 }
示例#5
0
 function postProcess()
 {
     $current_status_ids = array();
     $dao = CRM_Core_DAO::executeQuery("SELECT id from civicrm_membership_status where is_current_member = 1");
     while ($dao->fetch()) {
         $current_status_ids[] = $dao->id;
     }
     $formValues = $this->exportValues();
     if (!isset($formValues['member_status_id'])) {
         $formValues['member_status_id'] = array();
     }
     $birth_date_from = CRM_Utils_Date::processDate($formValues['birth_date_from']);
     $birth_date_to = CRM_Utils_Date::processDate($formValues['birth_date_to']);
     $selector = new CRM_Rood_UpgradeSelector();
     $original_where = $selector->getWhere();
     $selector->setData($formValues['rood_mtype'], array_keys($formValues['member_status_id']), $birth_date_from, $birth_date_to);
     $selector->store();
     $where = $selector->getWhere();
     $count = CRM_Core_DAO::singleValueQuery("SELECT COUNT(*)\n      FROM civicrm_membership\n      INNER JOIN civicrm_contact ON civicrm_membership.contact_id = civicrm_contact.id\n      LEFT JOIN civicrm_membership sp_membership ON civicrm_contact.id = sp_membership.contact_id AND sp_membership.membership_type_id = '{$formValues['sp_mtype']}' AND sp_membership.status_id IN (" . implode(', ', $current_status_ids) . ")\n      " . $where . " AND sp_membership.id is null");
     $this->assign('found', $count);
     if ($where == $original_where && isset($_POST['continue']) && !empty($_POST['continue'])) {
         $queue = CRM_Queue_Service::singleton()->create(array('type' => 'Sql', 'name' => 'nl.sp.rood.upgrade', 'reset' => TRUE));
         $dao = CRM_Core_DAO::executeQuery("SELECT civicrm_membership.id\n       FROM civicrm_membership\n      INNER JOIN civicrm_contact ON civicrm_membership.contact_id = civicrm_contact.id\n      LEFT JOIN civicrm_membership sp_membership ON civicrm_contact.id = sp_membership.contact_id AND sp_membership.membership_type_id = '{$formValues['sp_mtype']}' AND sp_membership.status_id IN (" . implode(', ', $current_status_ids) . ")\n      " . $where . " AND sp_membership.id is null\n      ");
         $i = 1;
         while ($dao->fetch()) {
             $title = ts('Upgrade Rood lidmaatschappen %1 van %2', array(1 => $i, 2 => $count));
             //create a task without parameters
             $task = new CRM_Queue_Task(array('CRM_Rood_MembershipUpgrade', 'UpgradeFromQueue'), array($dao->id, $formValues), $title);
             //now add this task to the queue
             $queue->createItem($task);
             $i++;
         }
         $runner = new CRM_Queue_Runner(array('title' => ts('Upgrade rood lidmaatschappen'), 'queue' => $queue, 'errorMode' => CRM_Queue_Runner::ERROR_ABORT, 'onEnd' => array('CRM_Rood_Form_UpgradeRoodMembership', 'onEnd'), 'onEndUrl' => CRM_Utils_System::url('civicrm/member/upgrade_rood', 'reset=1')));
         $runner->runAllViaWeb();
         // does not return
     }
 }
 /**
  * Begin the upgrade by building a queue of tasks and redirecting to the queue-runner
  */
 function runBegin()
 {
     $upgrade = new CRM_Upgrade_Form();
     list($currentVer, $latestVer) = $upgrade->getUpgradeVersions();
     if ($error = $upgrade->checkUpgradeableVersion($currentVer, $latestVer)) {
         CRM_Core_Error::fatal($error);
     }
     $config = CRM_Core_Config::singleton();
     // This could be removed in later rev
     if ($currentVer == '2.1.6') {
         // also cleanup the templates_c directory
         $config->cleanupCaches();
     }
     // end of hack
     $postUpgradeMessage = ts('CiviCRM upgrade was successful.');
     // Persistent message storage across upgrade steps. TODO: Use structured message store
     // Note: In clustered deployments, this file must be accessible by all web-workers.
     $this->set('postUpgradeMessageFile', CRM_Utils_File::tempnam('civicrm-post-upgrade'));
     file_put_contents($this->get('postUpgradeMessageFile'), $postUpgradeMessage);
     $queueRunner = new CRM_Queue_Runner(array('title' => ts('CiviCRM Upgrade Tasks'), 'queue' => CRM_Upgrade_Form::buildQueue($currentVer, $latestVer, $this->get('postUpgradeMessageFile')), 'isMinimal' => TRUE, 'pathPrefix' => 'civicrm/upgrade/queue', 'onEndUrl' => CRM_Utils_System::url('civicrm/upgrade', 'action=finish', FALSE, NULL, FALSE), 'buttons' => array('retry' => $config->debug, 'skip' => $config->debug)));
     $queueRunner->runAllViaWeb();
     CRM_Core_Error::fatal(ts('Upgrade failed to redirect'));
 }