문제

첫째,

설정:

나는 스크립트를 실행하는 여러 가지 작업을 후에는 사용자가"업로드"버튼을 보내는 스크립트의 데이터가 그것이 필요합니다.지금 이 부분은 현재 필수,우리는 옵션이 없습니다 이 시점에서를 업로드하고 그릴에서는 살아있는 소스입니다.

이 섹션에서는 의도적으로 장황한다.앞서 건너는 경우 싫어하는

지금은 데이터가 분석에서 정말 펑키를 사용하여 소스 regex,으로 훌륭한 기능들을 가지고 있습니다.그런 다음 확인 DB 데이터에 대해 이미에서 업로드된 데이터의 기간이 표시됩니다.는 경우에 데이터를 날짜 범위에 아직 존재하지 않는 DB,그것은 데이터를 삽입하고 출력은 성공하는 사용자(또한 일부 보안 검사 데이터 소스 검사 및 기본 업로드 검사)...는 경우에 데이터가 존재하지 않으면 스크립트는 다음에 이미 데이터가 DB,발견 사이의 차이점을 두 개의 설정을 삭제하며,옛는 데이터가 일치하지 않을 추가하고,새로운 데이터 전송하는 이메일을 각 사람에 의해 영향을 받 이러한 변경(당 하나의 이메일 사람과 함께 모든 관련 변경에서 말하는 이메일,이는 전혀 다른 단계).이메일 주소가 뽑아에 의해 LDAP 검색으로 우리의 DB 가 그들의 작품 이메일하지만 LDAP 는 자신의 개인 이메일을 보장하는 그들은 얻기 전에 이메일로 그들은 다음날 잡히 인식하지 못합니다.마지막으로,데이터 로더는 말했다"변경되었습니다,이메일이 발송되었습니다."정말 그들은 모두 관리에 대해입니다.

이제 나를 추가하는 구글 캘린더 API 는 게시물을 데이터(을 때 그것의 일정 데이터)를 사용자 구글 캘린더를 사용할 수 있습니다.나는 그것을 할 것을 통해 자신의 작동력,하지만 나는 내 발가락을 젖은 구글의 API 을 처리하기 전에 설정하는 WebDav 시스템을 위한 교환입니다.

</backstory>

지금!

실질적인 질문

이 시점에서 미리 구글 통합 스크립트는 대부분에서 두 번째로 반를 실행합니다.그것은 꽤 인상적이며,적어도 나는 그렇게 생각하(서버,내 coding).하지만 구글에서,테스트,가 선택.우리는 아는 것을 수정하지만,올 더 큰 문제는...

는 가장 좋은 방법은 무엇입을 로드하는 작업의 일부 사용자 후 받은 확인 하는 DB 업데이트되었습니다?이것은 부분이 그의 대부분의 관심과 그 부분이 가장 중요합니다.이메일 알림과 구글 캘린더에만 업데이트가 거의 이익을 위해 그 영향에 의해 업로드,그리고 문제가 있으면으로 이러한 알림을 그는 새로운 트렌드로 소개될 정도입니다 그것은(그리고 나는 그것에 대해 듣게 될 것)상관없이 스크립트를 말하는 그에게 처음이다.

그래서 거기 방법으로,예를 들어,실행 cronjob 의에 의해 발생 스크립트의 마지막 실행?할 수 있습 PHP 만들 cronjobs 과 exec() 능력?이 정상화된 방법으로 처리하는 후 실행하는 작업이 필요 이루어지고 있는지?

에 대한 조언이 정말 감사합니다.나는 느낌이 좋아하는 스크립트를 부풀어 ness 영 단계의 개발에 필요한을 마지막으로 수행하는 방법을 알고부문의 노동에서 웹 앱입니다.

하지만 나 또한 걱정이 완료 하지 않으로 사용자의 필요를 알면 모든 작업이 완료되면,등등.그래서 이것을 제공합:

최고의 모범 사례/상 객관적 질문

기본적으로,거기서 아이디어로 진행되는 바,실시간 오프로드,및 다른 방법을 유지하는 사용자에 닿는 스크립트가 있다면-결합의 최적화 코드,의 과정-더 나은,더 선호하는 방법은 다음 단순히 말이"우리는 이 부분이 필요한 경우에,우리는 것을 알리는 사용자가"등이 있습니다.

이 있는 큰 피해야 할 것(기타 보다 분명히 사용자에게 제공합니다 어떤 의견에든)?

감사합니다.코드 부분은 매우 중요 그렇게 느끼지 않을 의무를 커버의 두 번째 부분이나 잊지 커버하는 코드 부분!

도움이 되었습니까?

해결책

의 수 있는 방법에 대해 이동하다.할 수 있습 exec(),위의 같은 말한다,하지만 당신은 잠재적으로 실행 DoS 상황이 너무 많은 경우에는 제출을 클릭합니다.이 pcntl 확장 틀림없이 더 나은 프로세스를 관리하는것 같습니다.체크아웃 이 게시물 하의 설명을 참조하십시오(3 부분이 있습니다).

할 수 있는 자바스크립트를 사용하여 보내기 두 번째,ajax 후 실행하는 적절한 노동자 스크립트습니다.를 사용하여 ignore_user_abort()그리고 내용을 전송하는 길이로,브라우저 연결 해제할 수 있습니 조기이지만,아파치 프로세스가 계속 실행하고 프로세스는 데이터.거꾸로 없 forkbomb 잠재,단점은 그것이 더 많은 아파치 프로세스입니다.

또 다른 옵션을 사용하는 것 크론에 보이는 배경에는 과정-큐 테이블에 대한 할 일'나'-당신이 지팡이는 항목으로 이 테이블에는 프런트 엔드 제거,백엔드에 처리하는 동안(참조하십시오 Zend_Queue).

아직 다른 사용하기 위하여 분산업 와 같은 프레임워크 gearmand -할 수 있는 프로세스는 항목에 다른 기계입니다.

그것은 모두에 따라 당신의 전반적인 기능과 요구 사항입니다.

다른 팁

Cron 작업이 좋다.만약 당신이 원하는 모든 업로드할 때는 데이터는 말이"이봐,사용자 데이터에 대한 감사합니다!"다음이 잘 될 것입니다.

당신이 선호하는 경우 더 즉각적인 접근 방식,다음 사용할 수 있습니다 exec() 를 시작됩니다.Linux 환경에서 그것은 다음과 같이 보일 것이다:

exec("php /path/to/your/worker/script.php >/dev/null &");

& 일부는"저를 실행에 backgound." 이 >/dev/null 부 리디렉션을 출력하는 검은 구멍이 있습니다.로 취급하는 모든 오류하고 알리는 적절한 당사자--이 모든 아래의 디자인 작업자 스크립트입니다.

더 유연한 크로스-플랫폼 접근 방식을 체크 아웃 PHP 매뉴얼 게시물

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top