当前位置: 首页>>代码示例>>PHP>>正文


PHP Mage_Index_Model_Process::setId方法代码示例

本文整理汇总了PHP中Mage_Index_Model_Process::setId方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Index_Model_Process::setId方法的具体用法?PHP Mage_Index_Model_Process::setId怎么用?PHP Mage_Index_Model_Process::setId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Mage_Index_Model_Process的用法示例。


在下文中一共展示了Mage_Index_Model_Process::setId方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: int

 *
 * This source file is subject to the Open Software License (OSL 3.0)
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/osl-3.0.php
 *
 * @category   Mehulchaudhari
 * @package    Mehulchaudhari_FeedsGenerator
 * @author     Mehul Chaudhari
 * @copyright  Copyright (c) 2014 ; ;
 * @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 */
/** @var $installer Mage_Eav_Model_Entity_Setup */
const PROCESS_ID = 'google_taxonomy';
$indexProcess = new Mage_Index_Model_Process();
$indexProcess->setId(PROCESS_ID);
if (!$indexProcess->isLocked()) {
    $indexProcess->lockAndBlock();
    $installer = $this;
    $installer->startSetup();
    // Create (or re-create) the table containing all of the Google taxonomy information. This is a list
    // of available taxonomy values.
    $installer->run("\n        DROP TABLE IF EXISTS {$this->getTable('feedsgenerator_taxonomy')};\n        CREATE TABLE {$this->getTable('feedsgenerator_taxonomy')} (\n          `taxonomy_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n\t\t  `store_lang` varchar(255) NOT NULL,\n          `taxonomy_name` varchar(255) NOT NULL,\n          PRIMARY KEY (`taxonomy_id`)\n        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n    ");
    // Fill the taxonomy table with values provided by Google. Values are inserted in batches of
    // 1000 to increase processing speed.
    $connection = $installer->getConnection();
    $Datail = Mage::getModel('feedsgenerator/googleproducts_taxonomy')->getDataDetail();
    foreach ($Datail as $lang => $taxonomy) {
        $data = array();
        foreach ($taxonomy as $i => $t) {
            $data[] = array($lang, $t);
开发者ID:shakhawat4g,项目名称:MagentoExtensions,代码行数:31,代码来源:mysql4-upgrade-1.0-1.2.php

示例2: __construct

 /**
  * Constructor.  Instantiate the Process model, and set our custom
  * batch process ID.
  */
 public function __construct()
 {
     $this->indexProcess = new Mage_Index_Model_Process();
     $this->indexProcess->setId(self::PROCESS_ID);
 }
开发者ID:kirchbergerknorr,项目名称:FactFinderSync,代码行数:9,代码来源:Sync.php

示例3: run

 /**
  * Run the Task
  * 
  * IF ANY Job we run fails, due to another processes being run we should
  * gracefully exit and wait our next go!
  * 
  * Also change auto sync to just create a job, and run a single job Queue!
  */
 public function run()
 {
     if ($this->_config()->isLogEnabled()) {
         $this->_config()->dbLog("Cron [Triggered]");
     }
     /**
      * This doesn't exist in 1.3.2!
      */
     $indexProcess = new Mage_Index_Model_Process();
     $indexProcess->setId(self::LOCK_INDEX_ID);
     if ($indexProcess->isLocked()) {
         // Check how old the lock is - unlock after 1hr
         if ($this->_lockIsOld(self::LOCK_INDEX_ID)) {
             $indexProcess->unlock();
         } else {
             $this->_config()->log('MAILUP: cron already running or locked');
             return false;
         }
     }
     $indexProcess->lockAndBlock();
     try {
         require_once dirname(__FILE__) . '/../Helper/Data.php';
         $db_read = Mage::getSingleton('core/resource')->getConnection('core_read');
         $db_write = Mage::getSingleton('core/resource')->getConnection('core_write');
         $syncTableName = Mage::getSingleton('core/resource')->getTableName('mailup/sync');
         $jobsTableName = Mage::getSingleton('core/resource')->getTableName('mailup/job');
         $lastsync = gmdate("Y-m-d H:i:s");
         // reading customers (jobid == 0, their updates)
         $customer_entity_table_name = Mage::getSingleton('core/resource')->getTableName('customer_entity');
         /**
          * Now Handle Jobs we need to Sync, and all customers attached to each job
          */
         foreach (Mage::getModel('mailup/job')->fetchQueuedOrStartedJobsCollection() as $jobModel) {
             /* @var $jobModel MailUp_MailUpSync_Model_Job */
             $job = $jobModel->getData();
             $storeId = isset($job['store_id']) ? $job['store_id'] : NULL;
             // If job is auto-sync and cron is not enabled for the job's site, skip the job
             if ($jobModel->isAutoSync() && !$this->_config()->isCronExportEnabled($storeId)) {
                 $this->_config()->dbLog("Auto-Task skipped as auto-sync disabled for site", $job["id"], $storeId);
                 continue;
             }
             $stmt = $db_write->query("UPDATE {$jobsTableName}\n                    SET status='started', start_datetime='" . gmdate("Y-m-d H:i:s") . "'\n                    WHERE id={$job["id"]}");
             $customers = array();
             $job['mailupNewGroup'] = 0;
             $job['mailupIdList'] = Mage::getStoreConfig('mailup_newsletter/mailup/list', $storeId);
             $job["mailupGroupId"] = $job["mailupgroupid"];
             $job["send_optin_email_to_new_subscribers"] = $job["send_optin"];
             // If group is 0 and there is a default group, set group to this group
             $defaultGroupId = Mage::getStoreConfig('mailup_newsletter/mailup/default_group');
             if ($job["mailupGroupId"] == 0 && $defaultGroupId !== null) {
                 $job["mailupGroupId"] = $defaultGroupId;
             }
             $tmp = Mage::getSingleton('mailup/source_lists');
             $tmp = $tmp->toOptionArray($storeId);
             // pass store id!
             foreach ($tmp as $t) {
                 if ($t["value"] == $job['mailupIdList']) {
                     $job['mailupListGUID'] = $t["guid"];
                     $job["groups"] = $t["groups"];
                     break;
                 }
             }
             unset($tmp);
             unset($t);
             $stmt = $db_read->query("\n                    SELECT ms.*, ce.email\n                    FROM {$syncTableName} ms\n                    JOIN {$customer_entity_table_name} ce\n                        ON (ms.customer_id = ce.entity_id)\n                    WHERE ms.needs_sync=1\n                    AND ms.entity='customer'\n                    AND job_id={$job["id"]}");
             while ($row = $stmt->fetch()) {
                 $customers[] = $row["customer_id"];
             }
             /**
              * Send the Data!
              */
             $returnCode = MailUp_MailUpSync_Helper_Data::generateAndSendCustomers($customers, $job, $storeId);
             /**
              * Check return OK
              */
             if ($returnCode === 0) {
                 $customerCount = count($customers);
                 $db_write->query("\n                        UPDATE {$syncTableName} SET needs_sync=0, last_sync='{$lastsync}'\n                        WHERE job_id = {$job["id"]}\n                        AND entity='customer'");
                 $this->_config()->dbLog("Job Task [update] [Synced] [customer count:{$customerCount}]", $job["id"], $storeId);
                 // finishing the job also
                 $db_write->query("\n                        UPDATE {$jobsTableName} SET status='finished', finish_datetime='" . gmdate("Y-m-d H:i:s") . "'\n                        WHERE id={$job["id"]}");
                 $this->_config()->dbLog("Jobs [Update] [Complete] [{$job["id"]}]", $job["id"], $storeId);
             } else {
                 $stmt = $db_write->query("UPDATE {$jobsTableName} SET status='queued' WHERE id={$job["id"]}");
                 if ($this->_config()->isLogEnabled()) {
                     $this->_config()->dbLog(sprintf("generateAndSendCustomers [ReturnCode] [ERROR] [%d]", $returnCode), $job["id"], $storeId);
                 }
             }
         }
     } catch (Exception $e) {
         // In case of otherwise uncaught error, unlock and re-throw
         $indexProcess->unlock();
//.........这里部分代码省略.........
开发者ID:hanicker,项目名称:mailup-magento,代码行数:101,代码来源:Cron.php


注:本文中的Mage_Index_Model_Process::setId方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。