POI search services
The POI search is performed by a VenueSearch process.
Additionally three windows services are needed:
VenueFetch
VenueProxy
VenueSwitch
VenueSearch performs a search, but due to memory leaks if freezes after a few hours. Therefore, after some time a new instance of VenueSearch is launched. After the second instance is fully initialized (takes about an hour) the first instance is terminated.
VenueFetch fetches changes from MS SQL Server to SQLite.
VenueProxy forwards the requests to the currently active VenueSearch process.
VenueSwitch launches and terminates VenueSearch processes setting one of them as active.
Troubleshooting
If VenueSwitch crashes, a simple restart may not work. In that case all VenueSearch processes must be terminated manually. Then the value of the control.processingStatus field in the SQLite database must be set to 1. After that the VenueSwitch service must be restarted.
Request processing begins only after the second instance of VenueSearch is launched.