国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

微信公眾號開發(fā)推送事件排重

joy968 / 2842人閱讀

摘要:問題描述在處理用戶領(lǐng)卡的推送的時(shí)候,我們的數(shù)據(jù)庫對同一個(gè)新的用戶,會出現(xiàn)兩條數(shù)據(jù),比如兩條用戶,兩條用戶領(lǐng)卡數(shù)據(jù)問題分析出現(xiàn)這種的原因在于以下兩點(diǎn)服務(wù)器有點(diǎn)卡,沒有來得及在秒之內(nèi)回復(fù)微信服務(wù)器,導(dǎo)致微信服務(wù)器重發(fā)請求雖然在插入數(shù)據(jù)之前有所檢

問題描述

在處理用戶領(lǐng)卡的推送的時(shí)候,我們的數(shù)據(jù)庫對同一個(gè)新的用戶,會出現(xiàn)兩條數(shù)據(jù),比如兩條用戶,兩條用戶領(lǐng)卡數(shù)據(jù)

問題分析

出現(xiàn)這種的原因在于以下兩點(diǎn):

服務(wù)器有點(diǎn)卡,沒有來得及在5秒之內(nèi)回復(fù)微信服務(wù)器,導(dǎo)致微信服務(wù)器重發(fā)請求

雖然在插入數(shù)據(jù)之前有所檢查有無重復(fù)數(shù)據(jù),但是可能服務(wù)器很卡,在檢查的時(shí)候,前一條請求的數(shù)據(jù)還沒有插入數(shù)據(jù)庫

處理方法

參考微信開發(fā)文檔,利用FromUserName + CreateTime排重,將其作為一個(gè)key,存放在memcached里面,然后每次有推送或者消息來得時(shí)候,先去判斷一下是否存在,如果存在,表示是重復(fù)推送,直接return空串,否則表示是第一次推送,將其作為一個(gè)key,簡要代碼如下:

mc = memcached_wrapper.getMemcached()
FromUserName = self.decrypt_msg.find("FromUserName").text
CreateTime = self.decrypt_msg.find("CreateTime").text
mc_key_str = Util.unicode2str(FromUserName + CreateTime)
mc_value_str = mc.get(mc_key_str)
if mc_value_str:
    mc.disconnect_all()
    return ""
else:
    mc.set(mc_key_str, 1, 60)
    mc.disconnect_all()
# 備注
# unicode2str將unicode字符串轉(zhuǎn)化為bytes串
# memcached_wrapper一個(gè)處理memcached的py文件,主要作用是連接memcached和復(fù)用連接等功能

好了,就先到這里了,記錄下來以便下次查閱,如果對于你也有幫助的話,那真是最好不過的了

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/41367.html

相關(guān)文章

  • 【實(shí)戰(zhàn)教程】使用知曉云完成微信卡券消息的處理

    摘要:此教程將帶領(lǐng)大家體驗(yàn)這個(gè)新功能,實(shí)現(xiàn)一個(gè)微信消息推送類型的觸發(fā)器。進(jìn)入公眾號后臺點(diǎn)擊開發(fā)基本配置服務(wù)器配置,同步配置成知曉云消息推送的相關(guān)配置,完成配置后,微信消息推送類型的觸發(fā)器方可使用。 知曉云新推出「消息推送」功能,該功能通過「消息推送」類型的觸發(fā)器接收微信推送過來的消息,開發(fā)者可以對此消息實(shí)行相關(guān)操作。 此教程將帶領(lǐng)大家體驗(yàn)這個(gè)新功能,實(shí)現(xiàn)一個(gè)「微信消息推送」類型的觸發(fā)器。 該...

    Karrdy 評論0 收藏0
  • 【Node.js 微信公眾實(shí)戰(zhàn)】4.Node.js 微信消息管理

    摘要:消息推送也是微信公眾號開發(fā)更為有趣的功能,涉及到文本消息圖片消息語音消息視頻消息音樂消息以及圖文消息。在文件中創(chuàng)建文件用于消息的管理。 一、寫在前面的話 ??當(dāng)用戶發(fā)送消息給公眾號時(shí)(或某些特定的用戶操作引發(fā)的事件推送時(shí)),會產(chǎn)生一個(gè)POST請求,開發(fā)者可以在響應(yīng)包(Get)中返回特定XML結(jié)構(gòu),來對該消息進(jìn)行響應(yīng)。 ??消息推送也是微信公眾號開發(fā)更為有趣的功能,涉及到文本消息、圖片消...

    lewinlee 評論0 收藏0
  • 微信公眾第三方開發(fā)平臺(一)

    摘要:二接收微信調(diào)用任何接口都需要這一步也是折騰我最久的,主要推送過來的信息是加密的我們需要將信息解密,解密出將該保存后面需要用到消息加解密接入指引這個(gè)頁面上可以下載對應(yīng)語言解密的我選擇的是,貌似有點(diǎn)問題,自己改了下可以用了。 最近在做一個(gè)公眾號的工具,想使用公眾號的權(quán)限,第一步就是授權(quán),官方的文檔說的不是很清楚,對于一個(gè)剛接觸的開發(fā)者看起來是有點(diǎn)吃力的。 一、創(chuàng)建微信第三方應(yīng)用 showI...

    why_rookie 評論0 收藏0
  • 基于微信公眾的多房間實(shí)時(shí)彈幕消息系統(tǒng)

    摘要:同時(shí)借助實(shí)現(xiàn)在非接口中推送消息流。每分秒鐘最多的彈幕數(shù)目彈幕數(shù)量過多時(shí)優(yōu)先加載最新的。 項(xiàng)目起始原因 源于數(shù)據(jù)庫課設(shè)和以前的一次突發(fā)奇想。其實(shí)還有其他微信公眾號的彈幕系統(tǒng),但是我發(fā)現(xiàn)使用體驗(yàn)不佳,因?yàn)槟欠N彈幕系統(tǒng)都是私用,并且只支持同時(shí)進(jìn)行一個(gè)房間的使用。所以便萌生了自己寫一個(gè)的想法。(第一次寫md,有點(diǎn)不會,希望諒解--) 主要技術(shù)點(diǎn) Redis(結(jié)合socket實(shí)現(xiàn)在非socke...

    Anonymous1 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<