摘要:問題描述在處理用戶領(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
摘要:此教程將帶領(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ā)器。 該...
摘要:消息推送也是微信公眾號開發(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ā)更為有趣的功能,涉及到文本消息、圖片消...
摘要:二接收微信調(diào)用任何接口都需要這一步也是折騰我最久的,主要推送過來的信息是加密的我們需要將信息解密,解密出將該保存后面需要用到消息加解密接入指引這個(gè)頁面上可以下載對應(yīng)語言解密的我選擇的是,貌似有點(diǎn)問題,自己改了下可以用了。 最近在做一個(gè)公眾號的工具,想使用公眾號的權(quán)限,第一步就是授權(quán),官方的文檔說的不是很清楚,對于一個(gè)剛接觸的開發(fā)者看起來是有點(diǎn)吃力的。 一、創(chuàng)建微信第三方應(yīng)用 showI...
摘要:同時(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...
閱讀 3058·2021-11-16 11:45
閱讀 3578·2021-09-29 09:34
閱讀 702·2021-08-16 10:50
閱讀 1569·2019-08-30 15:52
閱讀 1962·2019-08-30 15:45
閱讀 859·2019-08-29 15:23
閱讀 1923·2019-08-26 13:51
閱讀 3299·2019-08-26 12:23