如何将WebSockets数据保存到数据库中

4

我想读取这个流:wss://stream.binance.com:9443/ws/btcusdt@trade 并将数据保存到数据库,以便稍后处理。

因为这是连续的数据流,所以我不知道在哪里调用函数或如何处理它。

我正在使用这个 PHP 库:

https://github.com/jaggedsoft/php-binance-api

具体来说,是这段代码:

$api->trades(["BNBBTC"], function($api, $symbol, $trades) {
    echo "{$symbol} trades update".PHP_EOL;
    print_r($trades);
});

我知道如何将数据保存到数据库中,但是我不知道如何调用这个函数。

public function x(){
$api = new API("api", "secret";
$api->trades(["BTCUSDT"], function($api, $symbol, $trades) {
            $data = new BinanceData();
            $data->symbol = $symbol;
            $data->price = $trades['price'];
            $data->binance_timestamps = $trades['timestamp'];
            $data->maker = $trades['maker'];
            $data->quantity = $trades['quantity'];
            $data->save();
        });
}

当我访问/x路由时,我直接调用这个函数:

Route::get('/x', [BinanceController::class, 'x']);

问题是如何在Laravel中后台调用此函数,以便我不必访问任何路由或其他内容。
谢谢。
1个回答

0
创建一个 Laravel Artisan 命令,将其注册到内核中。然后使用 Linux 上的 Supervisor 或任何进程管理器来不断调用它以创建守护进程。

https://laravel.com/docs/8.x/artisan


你应该分享解决方案(例如,代码),而不是URL,你也应该分享URL作为参考。 - Rajeev Singh
1
好的。让我更新答案。这是我在这里的第一个答案。谢谢。 - Babila Vena

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接