添加向用户Laravel发送短信的延迟

添加向用户Laravel发送短信的延迟,laravel,Laravel,在我的项目中,我想在赢得指定游戏后向用户发送奖励短信。 因此,我在GameController中实现了如下代码 //some data $this->send($mobile_number, $message); //some data Send函数定义为特征,如下所示 public function send($mobile_number, $message) { $username = config('app.filee')['username']; $passwor

在我的项目中,我想在赢得指定游戏后向用户发送奖励短信。 因此,我在
GameController
中实现了如下代码

//some data
$this->send($mobile_number, $message);
//some data
Send函数定义为
特征
,如下所示

public function send($mobile_number, $message)
{
    $username = config('app.filee')['username'];
    $password = config('app.file')['password'];
    $sender_id = config('app.file')['sender_id'];


    $url = "URL...username=" . $username . "&password=" . $password . "&from=" . $sender_id . "&to=" . $mobile_number . "&content=" . urlencode($message);

    $curl = curl_init();

    curl_setopt_array($curl, array(
        CURLOPT_URL => $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => '',
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'POST',
    ));

    $response = curl_exec($curl);
    curl_close($curl);
    \Log::info(['SMS_RESPONSE' => $response, 'SENT_MESSAGE' => $message]);
    return;
}
我怎样才能将发送短信延迟到5分钟


在不改变功能中的许多更改的情况下?

创建一个负责通过sms发送消息的作业(将发送逻辑放在该文件或其他文件中,然后从那里调用)

然后将要在所需延迟后发送的作业排队

问题可以帮助创建类。 威尔可以帮你延长时间


根据你的需要调整这个答案,这可能是一个很好的练习。祝你好运

使用Laravel队列并设置延迟。更多信息。@Peppermintology抱歉,我是拉雷维尔的新手。。我需要添加作业类吗?如果需要,我应该在哪里编写send()?。。你能告诉我工作流程吗?我不想仅仅发布神奇的代码,我建议大家看看一些在线教程,比如我们可以使用回调函数而不使用jobclass和dispatch,并为此添加延迟吗<代码>发送(函数()使用($mobile_number,$message){$this->send($mobile_number,$message);})->延迟(now()->addMinutes(1))我认为这是不可能的(实际上不知道,必须搜索它)。但是,使用作业类会更好,因为它不会在sms实际发送时延迟将要发送回的响应。