<?php use GW2Spidy\DB\ItemQuery; use GW2Spidy\DB\SellListingQuery; use GW2Spidy\NewQueue\ItemListingDBQueueItem; use GW2Spidy\NewQueue\ItemListingDBQueueManager; use GW2Spidy\NewQueue\ItemListingDBQueueWorker; require dirname(__FILE__) . '/../autoload.php'; $queueManager = new ItemListingDBQueueManager(); $queueWorker = new ItemListingDBQueueWorker($queueManager); $item = ItemQuery::create()->findPk($argv[1]); if (!$item) { die("failed to find item"); } var_dump($item->getName(), $item->getItemTypeId()); $queueItem = new ItemListingDBQueueItem($item); var_dump($queueItem->getItem()->getQueuePriority()); if (isset($argv[2]) && strstr("search", $argv[2])) { $queueItem = array($queueItem); } var_dump(is_array($queueItem)); $queueWorker->work($queueItem); $l = SellListingQuery::create()->filterByItemId($item->getDataId())->orderByListingDatetime(\Criteria::DESC)->limit(1)->findOne(); var_dump($l->toArray());
continue; } echo " got item {$run} ..."; // mark our slot as held $slot->hold(); $try = 1; $retries = 2; while (true) { /* * process the item * wrapped in trycatch to catch and log exceptions * get a worker (reuse old instances) and let it work the item */ try { ob_start(); $queueWorker->work($workload); if ($debug) { echo ob_get_clean(); } else { ob_get_clean(); } break; } catch (Exception $e) { $log = ob_get_clean(); echo " --------------- \n !! worker process threw exception !!\n --------------- \n {$log} \n --------------- \n {$e} \n --------------- \n"; if ($e->getCode() == BaseWorker::ERROR_CODE_NO_LONGER_EXISTS || strstr("CurlRequest failed [[ 401 ]]", $e->getMessage())) { break; } if ($try <= $retries) { logg("error, retrying, sleeping [5] ... \n"); sleep(5);