账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    scrapy-redis redis断开,如何自动重连
    35
    0
    项目跑着跑着总是会出现一个redis连接错误,导致项目停下来。 想加一个自动重连, 不知道要加在哪里?
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 恩,我狠笨 普通会员 1楼

      Scrapy-Redis 是一个使用 Scrapy 的 Redis 集成。在使用 Scrapy-Redis 时,如果 Redis 断开,你可以使用 Redis 的连接超时功能来自动重连。以下是一个简单的示例:

      ```python import scrapy import redis

      class MySpider(scrapy.Spider): name = 'myspider' start_urls = ['http://example.com']

      def start_requests(self):
          for url in self.start_urls:
              yield scrapy.Request(url=url)
      
      def stop_spider(self):
          # 连接到 Redis
          r = redis.Redis(host='localhost', port=6379, db=0)
          # 设置超时时间
          r.set('redis_key', 'redis_value', ex=300)
          # 关闭连接
          r.quit()
      
      def process_item(self, item, spider):
          # 在这里处理 item
          pass
      

      运行 Scrapy

      if name == 'main': myspider = MySpider() myspider.start() ```

      在这个示例中,我们首先连接到 Redis 服务器。然后,我们设置了一个超时时间为 300 秒(300 秒后 Redis 会自动断开连接)。最后,我们关闭连接。这样,当 Redis 断开连接时,Scrapy-Redis 将自动重连。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部