multi-store/app/queue/redis/CopyProductSend.php

34 lines
823 B
PHP

<?php
namespace app\queue\redis;
use app\admin\logic\store_product\StoreProductLogic;
use Webman\RedisQueue\Consumer;
use support\Log;
/**
* 复制商品
*/
class CopyProductSend implements Consumer
{
// 要消费的队列名
public $queue = 'copy-product';
// 连接名,对应 plugin/webman/redis-queue/redis.php 里的连接`
public $connection = 'default';
// 消费
public function consume($data)
{
$store_arr=$data['store_arr'];
foreach ($store_arr as $key => $id) {
StoreProductLogic::copy($data['product_id'],$id);
}
}
public function onConsumeFailure(\Throwable $e, $package)
{
$package['max_attempts']=0;
Log::error('复制商品失败product_id:'.$package['data']['product_id']);
return $package;
}
}