2014-01-21 2 views
0

설명이 약간 어려운 문제가 있습니다. 제가 작성한 온라인 프로그램을 업데이트하기위한 스크립트를 작성하고 있습니다. 업데이트하려면 tar.gz 파일을 다운로드하고 압축을 푼 다음 이전 파일을 모두 업데이트 파일로 대체하십시오. 업데이트 진행 상황에 대해 사용자를 계속 업데이트하려면 jQuery ajax를 사용하여 업데이트되는 진행률 표시 줄이 있습니다. 이 각 단계 후, 진행 표시 줄이 업데이트 단계로 진행 단계 :로드 된 파일 바꾸기

아약스 호출은 Ajax 호출 패키지를 추출한다

  • 업데이트 패키지를 다운로드한다

    1. 아약스 전화가 설치되어 있습니다 새 것으로

    2. 업데이트를 모든 오래된 파일을 대체하기 위해 만들어

    내 문제는 업데이트 프로세스가 3 단계로 진행될 때 자바 스크립트 오류 Failed to load resource: The request timed out.이 발생한다는 것입니다. 나는 이것이 모든 자바 스크립트와 PHP 파일을 대체하기 때문에 이것이라고 생각한다. 업데이트를 설치하는 동안 진행 막대를 업데이트하려면이 AJAX 호출을 작동 시키거나 다른 좋은 방법으로 만들 수 있습니까?

  • +0

    [* long polling *] (http://stackoverflow.com/questions/333664/simple-long-polling-example-code)을 가능한 방법 중 하나로 고려하십시오. – BlitZ

    답변

    0

    어떻게 할 수 있습니까?

    • 일시적으로 임시 폴더에 모든 스크립트 (js 및 php) 파일을로드하여로드 할 수 있습니까? 'core'파일을 업데이트하자마자 임시 폴더에있는 파일을 삭제할 수 있습니다.
    • 3 단계에서 성공했는지 확인 했습니까? 파일이 대체되었지만 상태가 업데이트되지 않습니까? 아니면 교체 자체도 실패합니까?

    업데이트 : 아웃 시간에 관한

    ... 정확히 어떻게 교체 작업은 무엇입니까?

    여러 통화를 보내는 기능이 있습니까? 아니면 한 번 큰 전화를합니까?

    또한 백그라운드에서 실제 업데이트 작업을 수행하는 php manualy를 호출하려고 시도 했습니까? 그렇다면 시간 초과가 있습니까?

    임시 디렉터리를 사용할 수없는 경우 바꾸려고하는 모든 파일이 사용되므로 '차단됨'일 가능성이 있습니다. 그러나 이것은 단지 추측 일뿐입니다.

    아직 완료되지 않은 경우 실제 업데이트 및 교체를 수행하는 기능을 다시 작성하십시오.많은 파일

  • 어쩌면 그 번호로 카운터와 각 카운터 업데이트에 대한 파일과 배열
  • 하나 개의 파일을 설정 업데이 트를 필요로하는지

    1. 확인하십시오 JS이나 PHP 중 하나를 보자 이전/이후의 비교를 시도하십시오.
  • +0

    모든 파일을 일부 임시 디렉토리에 넣고 거기에서 해결할 수는 없습니다. 3 단계에서 txt 파일로 대체 된 모든 파일을 배치하고 교체해야하는 파일과 비교했습니다. – SheperdOfFire

    +0

    내 대답을 편집했습니다. 확인해주세요. –