在Codeigniter 3中的后台运行函数

fiei3ece  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(136)

我正在尝试发送一条消息给我所有的电报机器人用户。但是,由于他们的大量a loop of thousands userscurl_exec需要大量的时间来完成功能。
这是一个问题,因为如果用户在循环过程中从我的机器人发送一些请求,他们必须等待直到电报API回答我以前的循环请求,然后只回答他们的请求。这也会对TELEGRAM API造成混乱,并且它可能在这个阶段向用户重复相同的消息2-3次
所以我想在后台进行,这样用户就可以继续使用bot,而不必等待,而且我也不在乎需要多长时间才能将消息发送给所有订阅者。
如果你能帮忙的话,我将非常感激。

qjp7pelc

qjp7pelc1#

看看这个

function broadcast($message) {
        $url = 'https://api.telegram.org/bot' . getenv('TELEGRAM_BOT_TOKEN') . '/sendMessage';
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, 'chat_id=' . getenv('TELEGRAM_CHAT_ID') . '&text=' . $message);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }

相关问题