import logging from twisted.internet import defer, reactor from ..utils.helper import Helper from ..settings import LEAGUE_URL, MATCH_URL import time class LqSportsPipeline(object): @defer.inlineCallbacks def process_item(self, item, spider): print('555555555555555555555555555555555555555555555555555555555555555555555') logger = logging.getLogger(__name__) logger.info("进入管道") out = defer.Deferred() reactor.callInThread(self._do_calculation, item, out) yield out def _do_calculation(self, item, out): # 先保存联赛 league_name = item['league'] uuid = Helper.genearte_uuid(league_name) # 是否串场 if item['isP'] == 'P': ris_stringscene = 1 else: ris_stringscene = 0 # 现在时间,时间戳 utime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) odds_key = ["game_code", "title", "match_id", "lg_id", "data", "source", "odds_only", "tag", "uuid", "is_stringscene", "utime", "pt", 'match_identity'] odds_value = ["lq", "odds", item['match_id'], item['league_id'], item["content"], "hgg070", [], item['more_count'], uuid, ris_stringscene, utime, item['isP'], item["match_identity"]] # 赛事 childer = dict(zip(odds_key, odds_value)) res = Helper.async_post(LEAGUE_URL, childer) if res: if res.get('status') == 1: logging.warning("联赛提交成功,{}".format(res)) else: logging.warning("联赛提交失败,{}".format(res)) else: logging.warning("联赛提交失败,{}".format(res))