watching a folder for a json file

4907
2
09-17-2014 12:12 AM
ShaneTurk1
New Contributor

I am using the following environment:

ArcGIS for Server 10.2.1

SQL Server 2012

Windows Server 2012 R2

I am monitoring a folder for a new json file then processing it using the GeoEvent Processor (GEP).

It (the GEP) is successfully processing a file every five minutes (this is how often it is arriving from an external vendor).

I have the following issues:

Problem 1:

• The GEP doesnt delete the json files once they are processed.  I have changed the setting in the 'input' to delete and also not delete but that does not do anything.

Problem 2:

• When you restart the GEP service it will reprocess any files in the directory even if they are old.  It treats any json file as a new file.

NOTE: my json file has a .txt suffix but it is formatted json as per a specification supplied to the vendor.

NOTE: 03/10/2014: The GEP service was altered to use a file with a json suffix rather than a txt suffix.  The issue is still happening.

Any help would be appreciated.

0 Kudos
2 Replies
Hector_AndresMora_Bedoya
New Contributor

Hi Shane,

Problem 1:

* In advance settings of the input connector, you must check "Yes"  in the Delete Files After Processing option. Also, the name of the JSON files must be different each time a new event arrives in order to GeoEvent can delete them.

Problem 2:

* I supposed this is a normal behavior of GeoEvent. I got this same situation.

I hope this solve your problem.

Héctor

0 Kudos
DarrylWilson
New Contributor II

Hi there,

Regarding problem 1. The "Delete Files After Processing" had been checked. Still not working.

A further problem when watching a folder for JSON. The GEP input is throwing Json parser exceptions for valid JSON files. The files are around 65 Kb.

What I believe is happening is that the GEP input is too eager, and is trying to read the file before all the data has been written to the file (i.e. as soon as the file handle is created). It then throws a JSON parser error, and retries. If the file still has not finished writing, another error is thrown. If the file has finished writing the file is read and processed. An alternate explanation is that the GEP input is only reading part of the file???

Has anyone experienced this?

Many thanks

Darryl

0 Kudos