2017-12-27 16 views
-1

Background job schedule에 대한 해결책이 필요합니다. 내 목적은 매 15 분마다 latitudelongitude을 백엔드에 보내는 것입니다. 이 기능을 구현하는 가장 좋은 방법은 무엇입니까?네이티브 백그라운드 작업 스케줄러에 반응하십시오

+0

아무 것도 시도하지 않았습니까? –

+0

이 답변을 확인하십시오. https://stackoverflow.com/questions/35376690/how-can-i-run-background-tasks-in-react-native?answertab=active#tab-top – nish

+0

답변 해 주셔서 감사합니다. 사실 나는 이미 질문을 확인했다. 웹에서 찾을 수있는 두 개의 라이브러리가 있습니다. 하나는 배경 작업이고 다른 하나는 배경 타이머입니다. 그러나 둘 다 제대로 작동하지 않습니다. 그들은 여전히 ​​많은 문제를 가지고 있습니다. 이 기능에 대한 해결책을 찾을 수 있다면이 경우 적절한 해결책을 찾고 있습니다. 한 번만 공유하십시오. –

답변

0

나는 몇 달 전에 정확한 사양을 가지고 있었고 나는 2 가지 접근법으로 결론을 내렸다.

내 latlong 개체가 들어올 때마다 내 앱이 내 추적에 Latlong 개체를 내 백엔드로 보내야하지만 가장 좋은 옵션 중 하나는 HeadlessJS이며 일부 기본 코딩이 필요합니다.

내 솔루션

모든 자바 스크립트 실행이

별도의 비즈니스 로직 멀리 UI 스레드에서 백그라운드 스레드에서 발생하고 REDUX에 저장합니다. 앱이 살아있는 동안 n 분마다 조치를 파견 할 수 있습니다. 기능 패널 (iOS의 경우)에서 배경 모드를 켜야합니다.

내가

BackgroundTimer을 시도했습니다 또 다른 옵션은 특정 조각마다 n 분을 실행할 수 있습니다. 예 :

export const watchGPSPositionsAtInterval = function(
    dispatchNewPositionFunction, 
    dispatch 
) { 
    let intervalId = BackgroundTimer.setInterval(() => { 
    navigator.geolocation.getCurrentPosition(
     pos => { 
     if (pos <= MIN_ACCURACY) { 
      dispatchNewPositionFunction(pos, dispatch); 
     } 
     }, 
     error => { 
     console.log(error); 
     }, 
     { 
     enableHighAccuracy: true, 
     timeout, 
     maximumAge 
     } 
    ); 
    }, TIME_INTERVAL); 
    return intervalId; 
}; 
+0

답변 해 주셔서 감사합니다. 하지만 이해할 수없는, 특정 시간 제한에서이 작업을 예약하는 방법. 특정 시간 간격으로 작업을 예약 할 수있는 라이브러리가 있습니까? –

+0

예제 프로그램을 실행 해 보셨습니까? 그렇다면 게시물을 업데이트하고 코드의 어느 부분이 작동하지 않는지 알려주십시오. –