Coder Social home page Coder Social logo

esri / delay-processor-for-geoevent Goto Github PK

View Code? Open in Web Editor NEW
0.0 20.0 0.0 62 KB

In GeoEvent, provides the capability to delay execution of one or more events based on a configurable delay interval and unit.

License: Apache License 2.0

Java 100.00%
arcgis geoevent delay event processor

delay-processor-for-geoevent's Introduction

GeoEvent Delay Processor

This custom processor provides the capability to delay execution of one or more events based on a configurable delay interval and unit. Incoming GeoEvents are added to a queue and held in memory until their intervals have elapsed, after which they are processed asynchronously in the GeoEvent service.

This type of processor can be useful where administrators want to support streaming location data to users but do not want to support near real-time updates. Or when your data is delivered in a batch of records and you need to enforce temporal order.

Example

Examples:

Time Field = RECEIVED_TIME, Allow Duplicates = Yes, Use TRACK_ID = No
These settings will simply delay every event by the delay time.

Time Field = TIME_START, Allow Duplicates = No, Use TRACK_ID = No
These settings will use the TIME_START value to determine if an event has already been received with the same start time value. If an event has an identical value for TIME_START to a previous event, the current event will be dropped.

Time Field = TIME_START, Allow Duplicates = No, Use TRACK_ID = Yes
These settings will use the TRACK_ID and the TIME_START values to determine if an event has already been received with those same values. If an event has identical values for both TRACK_ID and TIME_START to a previous event, the current event will be dropped.

Features

  • GeoEvent Delay Processor

Requirements

  • ArcGIS GeoEvent Processor for Server version 10.6 or later.
  • ArcGIS GeoEvent Processor SDK version 10.6.
  • Java JDK 1.8 or greater.
  • Maven 3.6.3 or greater.

Instructions

Building the source code:

  1. Make sure Maven and ArcGIS GeoEvent Processor SDK are installed on your machine.
    c:\temp> javac -version
    c:\temp> mvn -version
  2. Clone the repository to your temp drive
    c:\temp> git clone CD into the directory
  3. Build with maven
    c:\temp> mvn clean install -Dcontact.address=[YourContactEmailAddress]'

Installing the built jar files:

  1. Use the .jar file built above or download a zip of jar and documentation.
  2. Copy the jar files into the [ArcGIS-GeoEvent-Processor-Install-Directory]/deploy folder.

Usage

  • The following parameters are supported:
    • Delay Value Specifies a constant value by which GeoEvents will be delayed before further processing. Delayed events are added to queue and held in memory.
    • Delay Value Unit specifies the time unit for the delay value.
    • Delay Time Field Choose the field that the delay time will be added to (RECEIVE_TIME, TIME_START, or TIME_END).
    • Allow Duplicates? Should new events with the same timestamp as an event already in the queue be allowed to be added to the queue? If duplicates are allowed, multiple events with the same timestamp may enter the queue.
    • Use TRACK_ID Should each unique TRACK_ID get its own queue, or should all events be stored in a single queue.

Resources

Issues

Find a bug or want to request a new feature? Please let us know by submitting an issue.

Support

This component is not officially supported as an Esri product. The source code is available under the Apache License.

Contributing

Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.

Licensing

Copyright 2022 Esri

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

A copy of the license is available in the repository's LICENSE file.

delay-processor-for-geoevent's People

Contributors

eironside avatar vplechnoy avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.