2017-11-03 9 views
-2

목표는하다 cron 작업이 cronjob에 내 코드에서자바 스크립트 setInterval을 기능과

test.php을 트리거 각 15 분 실행 간격 기능

setInterval(function {/* do something */}, 50000) 

내부의 코드를 실행, 나는 setInterval이 인터벌 시간 50 seconds에서 코드를 실행하는 함수. 그러나 localhost 서버에서 수동으로 (cron-job으로 실행하는 대신) 수동으로 코드를 실행하고 내 파일 위치 localhost/test.php에서 간격 시간 (50 seconds) 전에 브라우저 창을 닫으면 구간 함수 내의 코드가 실행되지 않습니다.

그러나 브라우저 창이 열리면 간격 안의 코드가 실행됩니다. 이 때문에 localhost 서버 및 라이브 서버에 cron-job 설정하여 코드를 트리거하는 경우 궁금 오전 및 간격 함수 안에 코드를 라이브 서버에 열려있는 브라우저 창에서 없음에도 불구하고 실행됩니다. cron-job이 실행되면 닫습니다. 그게 사실인가요, 아니면 제가 빠진 것이 있습니까?

+3

시작한 브라우저 창을 닫은 후에도 setInterval이 계속 실행되기를 기대합니까? 또한 보조 노트로 setInterval은 ** not ** jQuery입니다. – Taplar

+1

cron에서 클라이언트 측 javascript를 실행할 수 없습니다. setinterval에 대한 javascript가 node.js에서 실행 중입니까? –

+0

@Taplar. 아니, 멈추기 위해 'clearinterval'을 추가합니다 ....................................... ..... @ 브라이언 글래스. 아니, node.js에서 실행되지 않습니다. 그것은 jquery 내부에서 실행됩니다 – callmejoejoe

답변

0

매분과 같이 자주 PHP를 실행하는 cron 작업을 만드십시오. PHP는 스케줄 시간을 확인할 수 있습니다. 그렇다면 작업을 실행하십시오. 그렇지 않다면 종료하고 cron이 다시 시작될 때까지 기다렸다가 일정을 다시 확인합니다. 날짜/시간을 한 번/분으로 검사하여 서버로드가 최소화됩니다.

0

정확하게 이해하면 PHP를 사용하여 CRON을 통해 JavaScript의 setInterval을 실행하려고합니다.

setInterval은 JavaScript 기능이며 일반적으로 브라우저 *를 통해 실행됩니다.
브라우저가 PHP 스크립트의 출력을 수신 한 다음 브라우저와 함께 제공된 JavaScript를 실행합니다.
간격을 생성 한 브라우저 창/탭이 닫히면 간격이 소멸됩니다.

CRON은 브라우저가 아니기 때문에 실행되는 스크립트의 출력이 전혀 신경 쓰이지 않습니다.
출력에 일부 JavaScript가 있지만 그 외에는 아무 일도 발생하지 않습니다. 당신은 당신이 setInterval을 ..also

는 jQuery를 기능하지 Node.js를 읽어 할 수있는 서버 측에서 자바 스크립트를 실행하려면

는 * - 그것은 네이티브 자바 스크립트입니다.

+0

Node.js를 사용하지 않고이를 수행 할 수있는 솔루션이 있습니까? 내 목표는 작업이 예정된 정확한 시간에 작업 (코드)을 실행하고 서버 CPU를 절약하기 위해 매 15 분마다 (매초 또는 분 대신에) cron-job을 실행하고 싶습니다 (나는 틀렸을 수도 있습니다. 매초 cron-job을 실행하면 서버가 느려질 수 있습니다!).나는 cron-job과 schedule tast 사이의 차이점을 계산할 수 있고 그것들 사이의 차이 시간에 실행되는'setInterval 함수 '를 실행할 수있다. 친절하게도 PHP를 사용하여 그것을 할 수있는 더 좋은 간단한 방법이 있다면 알려주시겠습니까? – callmejoejoe

+0

JavaScript를 사용하여 PHP를 사용하는 방법을 찾아야합니다. 그것이 가능해야합니다 (그것이 무엇이든간에). 그러나 그것은 눈이 멀게하는 것이 어렵습니다. – Ezenhis