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


PHP Queue::get方法代码示例

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


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

示例1: submit_all

 public function submit_all()
 {
     if ($this->validateAction()) {
         if ($this->permissions->canDeleteBlock() && $this->page->isMasterCollection()) {
             $name = sprintf('delete_block_%s', $this->block->getBlockID());
             $queue = \Queue::get($name);
             if ($_POST['process']) {
                 $obj = new \stdClass();
                 $messages = $queue->receive(20);
                 foreach ($messages as $key => $p) {
                     $block = unserialize($p->body);
                     $page = \Page::getByID($block['cID'], $block['cvID']);
                     $b = \Block::getByID($block['bID'], $page, $block['arHandle']);
                     if (is_object($b) && !$b->isError()) {
                         $b->deleteBlock();
                     }
                     $queue->deleteMessage($p);
                 }
                 $obj->totalItems = $queue->count();
                 if ($queue->count() == 0) {
                     $queue->deleteQueue($name);
                 }
                 $obj->bID = $this->block->getBlockID();
                 $obj->aID = $this->area->getAreaID();
                 $obj->message = t('All child blocks deleted successfully.');
                 echo json_encode($obj);
                 $this->app->shutdown();
             } else {
                 $queue = $this->block->queueForDefaultsUpdate($_POST, $queue);
             }
             $totalItems = $queue->count();
             \View::element('progress_bar', array('totalItems' => $totalItems, 'totalItemsSummary' => t2("%d block", "%d blocks", $totalItems)));
             $this->app->shutdown();
         }
     }
 }
开发者ID:ppiedaderawnet,项目名称:concrete5,代码行数:36,代码来源:delete.php

示例2: defined

<?php

defined('C5_EXECUTE') or die("Access Denied.");
use Concrete\Core\Multilingual\Page\Section\Section;
$dh = Loader::helper('concrete/dashboard/sitemap');
if (!$dh->canRead()) {
    die(t("Access Denied."));
}
// we have to do this otherwise permissions pointers aren't correct
// (cInheritPermissionsFromCID on parent nodes)
Core::make('cache/request')->disable();
$q = Queue::get('copy_page');
$includeParent = true;
if ($_REQUEST['copyChildrenOnly']) {
    $includeParent = false;
}
$db = Loader::db();
if ($_POST['process']) {
    $obj = new stdClass();
    $js = Loader::helper('json');
    $messages = $q->receive(Config::get('concrete.limits.copy_pages'));
    foreach ($messages as $key => $p) {
        // delete the page here
        $page = unserialize($p->body);
        $oc = Page::getByID($page['cID']);
        // this is the page we're going to copy.
        // now we check to see if the parent ID of the current record has already been duplicated somewhere.
        $newCID = $db->GetOne('select cID from QueuePageDuplicationRelations where originalCID = ? and queue_name = ?', array($page['cParentID'], 'copy_page'));
        if ($newCID > 0) {
            $dc = Page::getByID($newCID);
        } else {
开发者ID:yakamoz-fang,项目名称:concrete,代码行数:31,代码来源:sitemap_copy_all.php

示例3: defined

<?php

defined('C5_EXECUTE') or die("Access Denied.");
$u = new User();
$form = Loader::helper('form');
$dh = Core::make('helper/date');
/* @var $dh \Concrete\Core\Localization\Service\Date */
$sh = Loader::helper('concrete/dashboard/sitemap');
if (!$sh->canRead()) {
    die(t('Access Denied'));
}
$u = new User();
if ($_POST['task'] == 'delete_pages') {
    $q = Queue::get('delete_page_request');
    if ($_POST['process']) {
        $obj = new stdClass();
        $js = Loader::helper('json');
        $messages = $q->receive(Config::get('concrete.limits.delete_pages'));
        foreach ($messages as $key => $p) {
            // delete the page here
            $page = unserialize($p->body);
            $c = Page::getByID($page['cID']);
            if ($c->getCollectionID() > 1) {
                $pkr = new \Concrete\Core\Workflow\Request\DeletePageRequest();
                $pkr->setRequestedPage($c);
                $pkr->setRequesterUserID($u->getUserID());
                $u->unloadCollectionEdit($c);
                $pkr->trigger();
            }
            $q->deleteMessage($p);
        }
开发者ID:ceko,项目名称:concrete5-1,代码行数:31,代码来源:delete.php

示例4: queueForDuplication

 public function queueForDuplication($destination, $includeParent = true)
 {
     $pages = array();
     $pages = $this->populateRecursivePages($pages, array('cID' => $this->getCollectionID()), $this->getCollectionParentID(), 0, $includeParent);
     // now, since this is deletion, we want to order the pages by level, which
     // should get us no funny business if the queue dies.
     usort($pages, array('Page', 'queueForDuplicationSort'));
     $q = Queue::get('copy_page');
     foreach ($pages as $page) {
         $page['destination'] = $destination->getCollectionID();
         $q->send(serialize($page));
     }
 }
开发者ID:Mihail9575,项目名称:concrete5,代码行数:13,代码来源:page.php

示例5: Memcache

//实例化Memcache
$mc = new Memcache();
$mc->connect('127.0.0.1', 11211);
//实例化消息队列
$queue = new Queue($mc);
$name = "Memcache";
//写入消息队列
$queue->put($name, "Memcache消息队列测试--" . rand(0, 100));
//出消息队列
$temp = $queue->get($name);
var_dump($temp);
$temp = $queue->status($name);
var_dump($temp);
echo "<hr/>";
/*******Tokyotrant*******/
echo "Tokyotrant队列测试:<br />";
//实例化Tokyotran
$tt = new Memcache();
$tt->connect('127.0.0.1', 1978);
//实例化消息队列
$queue = new Queue($tt);
$name = "Tokyotrant";
//写入消息队列
$queue->put($name, "Tokyotrant消息队列测试--" . rand(0, 100));
//出消息队列
$temp = $queue->get($name);
var_dump($temp);
$temp = $queue->status($name);
var_dump($temp);
echo "<hr/>";
/*******Redis*******/
开发者ID:xingcuntian,项目名称:queue,代码行数:31,代码来源:queue.test.php

示例6: defined

<?php

defined('C5_EXECUTE') or die("Access Denied.");
$dh = Loader::helper('concrete/dashboard/sitemap');
if (!$dh->canRead()) {
    die(t("Access Denied."));
}
$q = Queue::get('delete_page');
$isEmptyTrash = false;
if ($_POST['process']) {
    $obj = new stdClass();
    $js = Loader::helper('json');
    $messages = $q->receive(Config::get('concrete.limits.sitemap_pages'));
    foreach ($messages as $key => $p) {
        // delete the page here
        $page = unserialize($p->body);
        $c = Page::getByID($page['cID']);
        $c->delete();
        $q->deleteMessage($p);
    }
    $obj->totalItems = $q->count();
    if ($q->count() == 0) {
        $q->deleteQueue('delete_page');
    }
    print $js->encode($obj);
    exit;
} else {
    if ($q->count() == 0) {
        $c = Page::getByID($_REQUEST['cID']);
        if ($c->getCollectionPath() == Config::get('concrete.paths.trash')) {
            $isEmptyTrash = true;
开发者ID:ceko,项目名称:concrete5-1,代码行数:31,代码来源:sitemap_delete_forever.php

示例7: getQueueObject

 public function getQueueObject()
 {
     return Queue::get('job_' . $this->getJobHandle(), array('timeout' => 1));
 }
开发者ID:Zyqsempai,项目名称:amanet,代码行数:4,代码来源:queueable_job.php

示例8: flush

 public function flush()
 {
     $this->assertLoggedIn();
     $this->set('area', 'queues');
     try {
         //how do we find them?
         $queue = new Queue($this->args('id'));
         //did we really get someone?
         if (!$queue->isHydrated()) {
             throw new Exception("Could not find that queue.");
         }
         if ($queue->get('user_id') != User::$me->id) {
             throw new Exception("You do not own this queue.");
         }
         $this->set('queue', $queue);
         $this->setTitle('Empty Queue - ' . $queue->getName());
         if ($this->args('submit')) {
             Activity::log("emptied the queue <strong>" . $queue->getName() . "</strong>.");
             $queue->flush();
             $this->forwardToUrl($queue->getUrl());
         }
     } catch (Exception $e) {
         $this->setTitle('Empty Queue - Error');
         $this->set('megaerror', $e->getMessage());
     }
 }
开发者ID:eric116,项目名称:BotQueue,代码行数:26,代码来源:queue.php

示例9: submit

 public function submit()
 {
     if ($this->validateAction() && $this->canAccess()) {
         $a = \Area::get($this->page, $_GET['arHandle']);
         $c = $this->page;
         if (is_object($a)) {
             $b = \Block::getByID($_GET['bID'], $c, $a);
             $p = new \Permissions($b);
             if ($p->canAdminBlock() && $c->isMasterCollection()) {
                 $name = sprintf('update_defaults_%s', $b->getBlockID());
                 $queue = \Queue::get($name);
                 if ($_POST['process']) {
                     $obj = new \stdClass();
                     $messages = $queue->receive(20);
                     foreach ($messages as $key => $p) {
                         $record = unserialize($p->body);
                         $page = \Page::getByID($record['cID'], $record['cvID']);
                         if ($record['action'] == 'add_alias') {
                             $this->block->alias($page);
                         } else {
                             if ($record['action'] == 'update_forked_alias') {
                                 $forked = \Block::getByID($record['bID'], $page, $record['arHandle']);
                                 if (is_object($forked) && !$forked->isError()) {
                                     // take the current block that is in defaults, and replace the block on the page
                                     // with that block.
                                     $existingDisplayOrder = $forked->getBlockDisplayOrder();
                                     $bt = $b->getBlockTypeObject();
                                     // Now we delete the existing forked block.
                                     $forked->deleteBlock();
                                     if ($bt->isCopiedWhenPropagated()) {
                                         $b = $this->block->duplicate($page, true);
                                     } else {
                                         $this->block->alias($page);
                                         $b = \Block::getByID($this->block->getBlockID(), $page, $record['arHandle']);
                                     }
                                     $b->setAbsoluteBlockDisplayOrder($existingDisplayOrder);
                                     $page->rescanDisplayOrder($record['arHandle']);
                                 }
                             }
                         }
                         $queue->deleteMessage($p);
                     }
                     $obj->totalItems = $queue->count();
                     if ($queue->count() == 0) {
                         $queue->deleteQueue($name);
                     }
                     $obj->bID = $b->getBlockID();
                     $obj->aID = $a->getAreaID();
                     $obj->message = t('All child blocks updated successfully.');
                     echo json_encode($obj);
                     $this->app->shutdown();
                 } else {
                     $queue = $this->block->queueForDefaultsAliasing($_POST['addBlock'], $queue);
                 }
                 $totalItems = $queue->count();
                 \View::element('progress_bar', array('totalItems' => $totalItems, 'totalItemsSummary' => t2("%d pages", "%d pages", $totalItems)));
             }
         }
     }
     $this->app->shutdown();
 }
开发者ID:ppiedaderawnet,项目名称:concrete5,代码行数:61,代码来源:aliasing.php


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