2014-04-23 3 views

답변

1

에 주문형 쿼리를 일정 시간 동안 실행되는 에스퍼 연속 질의와 동일하게 보인다. 요점이 뭐야?

+0

요점은 내 유스 케이스에서 사용자가 실시간 그래프에 연속적으로 플롯 될 일부 데이터를 반환하는 주문형 쿼리를 실행한다는 것입니다 (아마 멈출 때까지). Esper 연속 쿼리가 이상적이지만 런타임에 삽입 할 수 없다는 인상을 받고 있습니까? 이 쿼리 목록을 저장하고 Esper 런타임 엔진에 계속 주입하는 스레드가 있으면 더 쉬울 것인지 궁금합니다. –

+0

런타임에 확실한 연속 쿼리를 삽입 할 수 있습니다. 왜 그렇게 생각하지? – user650839

+0

API에 대한 간략한 설명이 나와 있으며 어떻게 수행 할 수 있는지 잘 모르겠습니다. 저를 올바른 방향으로 가르쳐 주시겠습니까? –

0

특정 시간에만 작동하는 연속 쿼리를 사용할 수 있습니다.

select * from pattern [timer:at(0, 10:11, 1, 1,*) -> every MyEvent]

당신이 가진 시간 범위를 지정할 수 있습니다 : 당신이 이벤트 시간 만 포인트 사이에 트리거 할 경우, 10 11 시까 월 1 일에 말을 여기에 그것을 할 수있는 방법이있다 timer:at을 입력하고 -> (그 뒤에)을 사용하여 특정 시간 범위 내에서 이벤트 트리거 만 만듭니다. 위의 예는 지정한 첫 번째 1 월 1 일부터 10 일까지만 작동합니다. 따라서 일종의 주문형 쿼리입니다. 관심있는 이벤트가 MyEvent이라고 가정합니다.

이 접근법을 반복적 인 기간 동안 사용할 수도 있습니다. 예를 들어, 다음 쿼리 4 월 동안 매주 월요일을 트리거 MyEvent 수 있습니다 :

select * from pattern [every timer:at(0, 0:23, *, 4, 1) -> every MyEvent]

또 다른 방법은이 Esper date-time methods을 사용하는 것입니다 할 수 있습니다. 이렇게하면 더 많은 제어와 복잡한 쿼리가 가능하지만 이벤트 자체 (또는 다른 이벤트)에서 시간 정보가 필요합니다.

+0

답장을 보내 주신 Dax에게 감사드립니다. Esper 패턴을 이런 식으로 예약 할 수 있다는 것을 알지 못했습니다. 그러나 유스 케이스의 경우에는 주문형 쿼리를 계속 재생할 수있는 쉬운 방법이 필요합니다. Esper에게이 일을 할 수있는 시설이 있는지 궁금해했습니다. –