热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql-PHP服务安卓推送后台化

问题是这样的:{代码...}然后:等到超过了服务的最大限制运行时间就啥都不返回给客户端,客户端提示服务错误。等到超过了客户端的最大限制网络连接时间就提示网络错误。我现在想实现的是,只要插入数据库成...
问题是这样的:

一个微博系统,客户端调用PHP服务对某条微博发表评论,插入数据库成功需要推送给微博主人。
但是推送用的第三方API,不能保证很快返回成功与否的信号,这样这个发表评论的服务就一直等待,也不给客户端传成功的信号。

然后:

等到超过了服务的最大限制运行时间就啥都不返回给客户端,客户端提示服务错误。
等到超过了客户端的最大限制网络连接时间就提示网络错误。

我现在想实现的是,只要插入数据库成功就返回信号,推送的工作单独来做,存在几个问题:
1.如果用cron定时任务+评论是否推送标示,这样每秒就要查一遍数据库看看是否有没有推送的数据,然后推送,这样对数据库压力太大了,浪费系统资源。
2.如果是分布式,是否有更好更正规的方法...我感觉我就是个野战军...

回复内容:

问题是这样的:

一个微博系统,客户端调用PHP服务对某条微博发表评论,插入数据库成功需要推送给微博主人。
但是推送用的第三方API,不能保证很快返回成功与否的信号,这样这个发表评论的服务就一直等待,也不给客户端传成功的信号。

然后:

等到超过了服务的最大限制运行时间就啥都不返回给客户端,客户端提示服务错误。
等到超过了客户端的最大限制网络连接时间就提示网络错误。

我现在想实现的是,只要插入数据库成功就返回信号,推送的工作单独来做,存在几个问题:
1.如果用cron定时任务+评论是否推送标示,这样每秒就要查一遍数据库看看是否有没有推送的数据,然后推送,这样对数据库压力太大了,浪费系统资源。
2.如果是分布式,是否有更好更正规的方法...我感觉我就是个野战军...

python ssdb 做个推送队列不难

用队列的方式,当有推送的工作时,先把推送工作堆入队列,直接返回成功的信号。让队列后台完成这些耗时的操作,推荐rabbitmq

用队列就好了,直接将同步的耗时操作转成异步的操作,但是异步后就会带来前端延迟的问题。所以整个完整的解决方案应该是,用户发起评论后,将评论请求写任务队列,并返回成功给客户端,但此时由于评论请求并没有真正执行,因此用户想要读此评论消息时,应该从任务队列中读取相关消息,如果没有读到,再去DB中拉取此消息。

推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Python如何调用类里面的方法
    本文介绍了在Python中调用同一个类中的方法需要加上self参数,并且规范写法要求每个函数的第一个参数都为self。同时还介绍了如何调用另一个类中的方法。详细内容请阅读剩余部分。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • Python开源库和第三方包的常用框架及库
    本文介绍了Python开源库和第三方包中常用的框架和库,包括Django、CubicWeb等。同时还整理了GitHub中最受欢迎的15个Python开源框架,涵盖了事件I/O、OLAP、Web开发、高性能网络通信、测试和爬虫等领域。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 去掉空格的方法——Python工程师招聘标准与实践
    本文介绍了去掉空格的方法,并结合2019独角兽企业招聘Python工程师的标准与实践进行讨论。同时提供了一个转载链接,链接内容为更多相关信息。 ... [详细]
  • 本文介绍了多因子选股模型在实际中的构建步骤,包括风险源分析、因子筛选和体系构建,并进行了模拟实证回测。在风险源分析中,从宏观、行业、公司和特殊因素四个角度分析了影响资产价格的因素。具体包括宏观经济运行和宏经济政策对证券市场的影响,以及行业类型、行业生命周期和行业政策对股票价格的影响。 ... [详细]
author-avatar
txy001美丽人生_618
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有