찾다

 >  Q&A  >  본문

PHP - 실행 시간 및 반환 값에 관계없이 실행하는 데 오랜 시간이 걸리는 API에 액세스할 때 다음 코드 줄을 직접 실행하는 방법은 무엇입니까?

제목 그대로:

사실 페이지를 열 때 API를 통해 프로그램을 실행하고 싶지만 이 프로그램은 상대적으로 느리게 실행되고 실행 후 페이지로 돌아오는 것에 대해 걱정하고 싶지 않습니다. 요청하면 다음 코드를 계속해서 실행할 수 있습니다. PHP 코드를 사용하여 이 상황을 구현하는 방법을 알려주십시오.
阿神阿神2827일 전447

모든 응답(8)나는 대답할 것이다

  • ringa_lee

    ringa_lee2017-05-16 13:12:48

    @dawnblog에서 언급한 방법은 실제로 가능하지만 주제의 요구 사항에는 fsockopen를 사용한 간단한 트리거만 필요하며 콜백 데이터

    를 처리할 필요가 없습니다.

    참고자료: http://www.laruence.com/2008/...

    회신하다
    0
  • 黄舟

    黄舟2017-05-16 13:12:48

    프로그램을 비동기식으로 시작하려면 가능합니다. 소켓을 사용할 수 있습니다.
    특정 구현 단계
    1. 소켓 서버에 명령 보내기
    2. 소켓은 명령을 수신하고 긴 시간을 통해 비동기식으로 보냅니다. link 다른 작업 처리 서버로 명령 보내기
    3. 소켓은 웹 서버에 명령을 받아 실행하라고 직접 지시하지만 작업은 작업 처리 서버를 통해 실행됩니다. ---- 이 단계는 비동기 ajax 실행과 동일합니다.
    4. 작업 처리 서버가 완료됩니다. 그 후 소켓 서버에 완료 명령을 보냅니다.
    5. 소켓 서버가 지정된 작업 완료 로직을 ​​완료합니다.
    물론 이렇게 합니다. 또 다른 더 좋은 방법이 있다면 해당 방법에 부족한 점을 지적해주세요.
    위 코드의 구체적인 구현은 Workman을 확인하세요

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:12:48

    젊은이여, 내가 두 단어의 진언을 가르쳐 주겠다: 팀! 목록!

    회신하다
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:12:48

    적시성이 강하지 않은 경우. 캐시 추천

    회신하다
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 13:12:48

    fastcgi_finish_request()는 당신을 만족시킬 수 있으며 php-fpm에서만 지원됩니다. . 아니면 대기열 서비스를 만드세요

    회신하다
    0
  • 为情所困

    为情所困2017-05-16 13:12:48

    PHP에는 비동기 콜백도 없나요? 안녕하세요

    회신하다
    0
  • 世界只因有你

    世界只因有你2017-05-16 13:12:48

    Swoole 프로세스 관리는 PHP에서 다릅니다. swoole 프로세스 관리를 참조하세요

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:12:48

    이런 비동기 전송 기술이 소켓을 사용하지 않고도 가능하지 않나요

    회신하다
    0
  • 취소회신하다