qq7588245
V2EX  ›  PHP

求组! PHP 采集的时候,没有响应了,怎么才能不影响其他操作?

  •  
  •   qq7588245 · Sep 18, 2017 · 3581 views
    This topic created in 3345 days ago, the information mentioned may be changed or developed.

    没响应的时候还可以做其他操作,是不是要用到非阻塞,还是什么?有没有解决方案?

    17 replies  •  2017-09-20 08:54:34 +08:00
    Immortal
    Immortal
    Sep 18, 2017
    1
    超时时间我的哥
    qq7588245
    qq7588245
    OP
    Sep 18, 2017
    2
    Moker
    Moker
    Sep 18, 2017
    3
    你可以去看下 Guzzle 的实现 then 方法
    Immortal
    Immortal
    Sep 18, 2017
    4
    @qq7588245 没响应不是指采集的某个页面没返回导致整个程序阻塞么?
    qq7588245
    qq7588245
    OP
    Sep 18, 2017
    5
    @Immortal 不是,就是正在采集呢 php 一直在运行 ,这个时候就不能访问其他页面了。
    zhengwenk
    zhengwenk
    Sep 18, 2017
    6
    不能访问其他页面。你是用什么模式采集,web?
    sucaihuo
    sucaihuo
    Sep 18, 2017
    7
    不太合理吧,像我用火车头采集,完全不影响
    Immortal
    Immortal
    Sep 18, 2017
    8
    @qq7588245
    ...php 访问其他页面?有点聊不下去了
    你是并发采集还是同步采集?
    同步的话肯定不能做其他操作了啊- - 这个函数还没执行完毕
    做成异步就好了
    vtwoextb
    vtwoextb
    Sep 18, 2017
    9
    采集的对象没有反应,有可能你的被禁止可以用这种策略: https://github.com/hizdm/dynamic_ip 如果是脚本超时了你可以设置一下时间,或者加一些判断
    qq7588245
    qq7588245
    OP
    Sep 18, 2017
    10
    @zhengwenk 对 用 php 直接访问 url
    wekw
    wekw
    Sep 18, 2017
    11
    可以利用 web server 天生的异步能力,用触发 http 请求的形式多线程采集。
    qq7588245
    qq7588245
    OP
    Sep 18, 2017
    12
    @wekw 如果必须要同步呢?
    qq7588245
    qq7588245
    OP
    Sep 18, 2017
    13
    @Immortal 如果必须要同步呢?
    sujin190
    sujin190
    Sep 18, 2017
    14
    多开几个进程就是了啊
    dlllcs
    dlllcs
    Sep 18, 2017
    15
    @qq7588245 我大概明白你的意思了。。。我觉得是 Session 锁的问题,你尝试在运行采集线程的时间开一个新的浏览器去访问其他 url,应该是没问题的,同一个 session 在 php 默认配置下只能同时访问一个网页
    dlllcs
    dlllcs
    Sep 18, 2017
    16
    @qq7588245 还有一种可能性是你用的是 php 自带的 php -S 服务器。。。这个不在讨论范围
    qq7588245
    qq7588245
    OP
    Sep 20, 2017
    17
    @dlllcs 对 应该就是这个锁的问题 怎么解决好呢?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1897 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 07:16 · PVG 15:16 · LAX 23:16 · JFK 02:16
    ♥ Do have faith in what you're doing.