队列SendEmailJob

<?php

namespace App\Jobs\pdd;

use App\Http\service\oceanengine\OceanengineReport;
use App\Models\oceanengine\OceanengineAdvertiser;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use GuzzleHttp\Client;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\DB;

class CaijiOrder implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    /**
     * 可以尝试任务的次数
     *
     * @var int
     */
    public $tries = 25;

    public $timeout = 36000; // 30分钟超时
    /**
     * 失败前允许的最大未处理异常数
     *
     * @var int
     */
    public $maxExceptions = 3;
    protected $page;
    public function __construct($page)
    {
        $this->page = $page;
    }

    public function handle()
    {
        try {
            $oceanengineReport      = new OceanengineReport();
            $accessToken='bf7d92e0b9d24f96c7df82d9a12ce11e8679c2b5';
            // Step 2: 获取广告主账户列表
            $advertisers = $oceanengineReport->getAdvertiserList($accessToken,$this->page);
            $list=Arr::get($advertisers,'data.list');
            if(!empty($list)){
                // Step 3: 遍历广告主,获取余额、消耗、转化数和转化成本
                foreach ($list as $advertiser) {
                    $advertiserId = $advertiser['advertiser_id'];
                    // 获取消耗、转化数和转化成本
                    $reportData = $oceanengineReport->getReportData(
                        $accessToken,
                        $advertiserId,
                    );
                    if(!empty($reportData['data'])){
                        $oceanengineReport->processReportData($reportData['data']);
                    }
                }
                // 如果还有更多页,继续分发任务
                $total_pages=Arr::get($advertisers,'data.page_info.total_page');
                if ($total_pages > $this->page) {
                    CaijiOrder::dispatch($this->page + 1);
                }
            }

        } catch (\Exception $e) {
            // 处理请求异常
            report($e);
        }
    }
}

php artisan queue:work
SendEmailJob::dispatch(['email' => 'user@example.com']);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值