UpdatePageJob.php 1.4 KB
<?php

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;

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

    public $tries = 3; // 可配置任务重试次数

    protected $param;

    /**
     * Create a new job instance.
     *
     * @param $data
     * @return void
     */
    public function __construct($data)
    {
        $this->param = $data;
    }

    /**
     * Execute the job.
     * B端更新页面异步请求
     * @return bool
     */
    public function handle()
    {
        $c_url = $this->param['c_url'];
        $c_params = $this->param['c_params'];

        try {
            $re = http_post($c_url, $c_params, [], true);
            if (isset($re['status']) && $re['status'] == 200) {
                $this->output($c_url . ' | 请求成功');
            } else {
                $this->output($c_url . ' | ' . ($re['message'] ?? '未返回失败原因'));
            }
        } catch (\Exception $e) {
            $this->output($c_url . ' | 请求异常:' . $e->getMessage());
        }


        return true;
    }

    /**
     * 输出处理日志
     * @param $message
     */
    public function output($message)
    {
        echo date('Y-m-d H:i:s') . ' | ' . $message . PHP_EOL;
    }
}