2016-09-24 7 views
0
입니다

누군가가 최고 수준에서이를 수행하는 최선의 방법을 설명해 주시겠습니까? 끝점까지 하루에 API 호출 수를 제한해야하며 이해한다면이 스크립트는 cron 작업으로 실행해야하지만 /var/www/의 웹 사이트에서 변수 값을 가져 오는 방법을 모르겠다.cron 작업에 PHP API 호출을 켜기 및 접근 반환 값

기간별 호출 수를 제한하기 위해 간단한 방법 (간혹 cron을 사용하지 않음)을 간과했다면 다른 대안에도 관심이 있습니다.

서버 환경은 우분투 14.04 LTS VPS입니다.

많은 도움에 감사드립니다.

답변

1

난 당신이 다른 목적으로 반환 값을 필요로하지 않는

내가 제안하는 함수를 작성하는 것입니다 (예를 들어 백그라운드 프로세스에서 몇 가지 계산을 수행), 모든 크론 작업을 필요가 있다고 생각하지 않는 API를 호출하고 그 결과를 데이터베이스에 저장합니다. 간단한 캐싱 로직을 구현하여 모든 페이지로드시 API 호출을 피할 수 있습니다. 의사 코드는 다음과 같을 수 있습니다.

function getAPIresult(){ 
    //Idea is to check for record in local db, before making the API call 
    //you can define the time schedule, AKA cache validity time as you want 
    $result = mysql_query("select from api_results where date='today'"); 
    if($result){ 
     return $result; // if valid record is found, use it on your website 
    } 
    else{ 
    return setAPIResult(); 
    } 
} 

function setAPIResult(){ 
    //API CALL goes here and inserts the result into the database 
    ..... 
    $weather_data = json_decode($response, true); 
    $result = mysql_insert('inserto into api_results ... values($weather_data)'); 
    return $result; // insert and return the value 
} 
+0

감사합니다. George. 나는 당신의 제안이 이것에 접근하는 훨씬 더 합리적인 방법이며, 정확히 내가이 질문을 게시 할 때 찾고있는 것이라고 동의한다. –