如何用worker监听股票接口数据是否有更新?

wocall

搜了一个关于股票的提问,但没有解决我的问题。也搜了关于接口的问答,貌似也没找到下面这个情况,所以特别在此请教:

有个第三方的股票实时行情服务器,提供任意一支股票的http的json数据接口,该接口数据会实时更新。接口数据更新速度或许每秒多笔,或者好多秒甚至更长时间一笔,因为选择不同的股票代码,更新频率受交易影响而不一样。

我这需要实现的是:
1、监听这个接口数据,如果数据有更新就读取过来,如果没有更新则继续监听。
2、将读取到的数据保存到数据库,同时发送给客户端。

我的问题是:
用worker如何监听这个接口数据是否有更新?

先感谢大佬们答疑解惑。

1022 3 0
3个回答

chen

可以用redis队列

顺便问下是什么接口,免费的吗?

  • wocall 2022-03-31
  • wocall 2022-03-31

    http://api.k780.com:88/?':$a_parm['apiurl'].'/?
    $nowapi_parm['app']='finance.stock_realtime';
    $nowapi_parm['symbol']='sh600000';
    $nowapi_parm['appkey']='10003';
    $nowapi_parm['sign']='b59bc3ef6191eb9f747dd4e83c99f2a4';
    $nowapi_parm['format']='json';

  • wocall 2022-03-31

    定时发请求有个问题就是不知道要隔多长时间,如果每秒钟读取30次,这样会不会很浪费资源

  • chen 2022-03-31

    我看这个实时行情接口是通过参数把股票代码传过去的,那就一次把所有股票代码传过去,30s一次请求应该也还好吧

  • chen 2022-03-31

    为什么要每秒钟读取30次啊,再频繁1秒1次也够了

  • wocall 2022-03-31

    交易密集的时候需要每秒更多次,30s一次肯定是不行的。至于发送过去的参数倒不是问题,问题就是如何实现弹性监测,发现有数据就马上读取过来。

  • wocall 2022-03-31

    现在行情不景气,有些1分钟都没一笔。但要考虑行情好的时候,每秒钟会有很多笔交易。

  • chen 2022-03-31

    发现有数据就马上读取过来,那就最好是建立长链接,让对方推数据过来,不然靠主动发请求拉数据肯定不够及时

  • wocall 2022-03-31

    要是对方能推就没这个问题了呀:(

MarkGo

这种无法实现的
你提到的那种必须是对方推才能实现,但是对方只有拉的接口,即意味着你不存在什么监听,只是一直轮询拉取数据回来,有新的才执行更新操作.
对比推,这种的确很浪费资源

  • wocall 2022-03-31

    确实如此呢,我在想,每秒钟30次的轮询的话,会不会时间一长就把自己的服务器弄死了。这点确实还没弄明白work的机制

manbuheiniu

我怎么记得股票信息是每秒更新一次啊,每秒30次没用吧!!!定时任务每秒一次就可以,如果怕刚拉取了数据接口就更新了那就0.5秒更新一下,最差是晚0.5秒应该能接受吧。对方不提供推送接口就没办法实时,只能定时轮循

  • wocall 2022-03-31

    交易惨淡的时候,确实更新频率不高。交易火热的时候每秒30笔都不算多。设计的时候必须考虑这个情况。

  • manbuheiniu 2022-04-07

    不区分交易惨淡和火热吧?看股票软件,都是几秒更新一次。好像在哪看过交易平台也是一两秒更新一次。一秒内有多笔交易,按提交时间顺序和量自动撮合哪些成交哪些挂着。一秒成功一次应该是正常的

年代过于久远,无法发表回答
🔝