<?php
// Bootstrap
// =========================================
require_once(__DIR__ . '/vendor/autoload.php');
// Init
// =========================================
$redis = new \Predis\Client();
$quedis = new \Simplario\Quedis\Queue($redis, 'ExampleNameSpace');
// Put message to Quedis
// =========================================
// add new messages
$message11 = $quedis->put('transaction-queue', 'transaction-11');
$message12 = $quedis->put('transaction-queue', new \Simplario\Quedis\Message('transaction-12'));
// with delay
$message22 = $quedis->put('transaction-queue', 'transaction-21', 60 * 5);
$message22 = $quedis->put('transaction-queue', 'transaction-22', (new \DateTime())->modify('+1 day'));
// with priority
$message32 = $quedis->put('transaction-queue', 'transaction-31', 0, 'high');
$message32 = $quedis->put('transaction-queue', 'transaction-32', 0, 'low');
// Get Quedis statistic
// =========================================
// for concrete queue
$queueStat = $quedis->stats('transaction-queue');
// for all queues
$statsAll = $quedis->stats();
// Stop/start queue
// =========================================
// stop queue
$quedis->stop('transaction-queue');
// for all queues
$quedis->start('transaction-queue');
// check
$isStop = $quedis->isStop('transaction-queue');
print_r($isStop);
/**
*
* Take message from Quedis
*
* Message flows (like in the Beanstalk: http://beanstalkc.readthedocs.io/en/latest/tutorial.html )
* ------------------------------------------------------------------------------------------------
*
* 1) put pop
* -----> [READY] --------> *poof*
*
*
* 2) put reserve delete
* -----> [READY] ---------> [RESERVED] --------> *poof*
*
*
* 3) put with delay release with delay
* ----------------> [DELAYED] <------------.
* | |
* | (time passes) |
* | |
* put v reserve | delete
* -----------------> [READY] ---------> [RESERVED] --------> *poof*
* ^ ^ | |
* | \ release | |
* | ``-------------' |
* | |
* | kick |
* | |
* | bury |
* [BURIED] <---------------'
* |
* | delete
* ``--------> *poof*
*
*/
// just pop single message
$message = $quedis->pop('transaction-queue');
print_r($message);
// just pop single message with timeout (redis blpop timeout)
$message = $quedis->pop('transaction-queue', 10);
print_r($message);
// reserve flow
$message = $quedis->reserve('transaction-queue', 10);
$quedis->delete($message);
// reserve > bury > kick > reserve > delete
$message = $quedis->reserve('transaction-queue', 10);
// something goes wrong ...
$quedis->bury($message);
// ok lets retry one more time ...
$quedis->kick($message);
$messageSame = $quedis->reserve($message);
// all is ok!
$quedis->delete($messageSame);
// Iterator usage
// =========================================
// iterate reserve all messages
$iterator = $quedis->iterator('transaction-queue', 'reserve', 10);
foreach($iterator as $index => $message){
print_r($message);
$quedis->delete($message);
}
// or like standalone with pop logic
$queue = new \Simplario\Quedis\Queue(new \Predis\Client(), 'super-puper-quedis');
$iterator = new \Simplario\Quedis\Iterator($queue, 'transaction-queue', 'pop', 10);
foreach($iterator as $index => $message){
print_r($message);
}
https://github.com/simplario/quedis

- Письма без ответов оставлять нельзя. Достаточно двух дней, чтобы клиент про вас забыл.
- Человек должен видеть цену доставки без необходимости регистрироваться.
- Оформите список стран/городов, куда вы доставляете товар, по алфавиту.
- На страницу с контактами добавьте фотографии со своим офисом.
- У продукта должна быть красочная и лаконичная страница. Делайте для этого качественные снимки.
- Оформляйте сайт не для поисковиков, а для ваших клиентов.
- Человек должен без проблем находить ссылки на политику конфиденциальности, способы доставки и условия оплаты.
- Говорите клиентам о статусе их заказа раньше, чем они об этом спросят.
- Для каждого действия покупателя применяйте однотипное визуальное оформление.
- О продукте и его видах предоставляйте исчерпывающую информацию.
- На странице с описанием продукта расскажите на все возможные вопросы.
- Предупреждайте клиентов заранее о том, в какие регионы вы не доставляете свои продукты.
- Постарайтесь чаще проверять описания на орфографические ошибки.
- Для клиентов должны быть бесплатные звонки.
- Показывайте друзьям и знакомым свой сайт, чтобы они указывали на его возможные недостатки.
- Прислушивайтесь к мнениям клиентов, постарайтесь наладить постоянную обратную связь.
- В разделе «О нас» укажите настоящий офисной номер телефона.
- Используйте программы для редактирования фотографий, чтобы сделать снимки продуктов лучше.
- При возможности сделайте форму заказа одностраничной.
- Звоните своим клиентам, благодарите их и уточняйте подтверждение заказа.
- На всех этапах заказа добавляйте окошко онлайн-консультанта.
- Укажите раздел с «популярными товарами».
- Показывайте цены, как они есть.
- Клиент, кликнув по миниатюре, должен видеть полноразмерную фотографию.
- На странице товара должен быть блок с наименованием продукта, его стоимостью и кнопкой «купить».
- Сделайте ссылку на раздел с «FAQ» заметной.
- Старайтесь доставлять продукты к клиенту максимально быстро.
- Чаще рассылайте полезные материалы.
- Пользуйтесь крупными шрифтами от 14+ для названий и заголовков.
- Посадите реального человека отвечать на звонки, а не машину.
- Делайте больше, а обещайте меньше.
- Стремитесь получить больше прибыли.
Хотите себе крутой интернет-магазин, используйте
vvShop