51Degrees IP Intelligence for Node.js

IpIntelligenceOnPremisePipelineBuilder Class Reference

Detailed Description

Inheritance diagram for IpIntelligenceOnPremisePipelineBuilder:

[legend]

Collaboration diagram for IpIntelligenceOnPremisePipelineBuilder:

[legend]

Public Member Functions

 constructor ({ dataFileUpdateService=null, licenceKeys=null, dataFile=null, dataUpdateVerifyMd5=true, dataUpdateUseUrlFormatter=true, autoUpdate=true, dataUpdateUrl=null, pollingInterval=30, updateTimeMaximumRandomisation=10, shareUsage=true, fileSystemWatcher=true, updateOnStart=false, cacheSize=null, restrictedProperties, performanceProfile='Balanced', concurrency=os.cpus().length, createTempDataCopy, tempDataDir })
 Extension of pipelineBuilder class that allows for the quick generation of an IP intelligence pipeline.

Public Member Functions inherited from PipelineBuilder

 constructor (settings={})
 buildFromConfigurationFile (configPath)
 buildFromConfiguration (config)
 getSuppressProcessExceptions (config)
 addRequiredElements (flowElements)
 getSequenceElements ()
 getJavaScriptElements ()
 getHttpElements ()
 add (flowElement)
 addParallel (flowElements)
 build ()

Member Function Documentation

◆ constructor()

IpIntelligenceOnPremisePipelineBuilder::constructor ( { dataFileUpdateService=null, licenceKeys=null, dataFile=null, dataUpdateVerifyMd5=true, dataUpdateUseUrlFormatter=true, autoUpdate=true, dataUpdateUrl=null, pollingInterval=30, updateTimeMaximumRandomisation=10, shareUsage=true, fileSystemWatcher=true, updateOnStart=false, cacheSize=null, restrictedProperties, performanceProfile='Balanced', concurrency=os.cpus().length, createTempDataCopy, tempDataDir })
inline

Extension of pipelineBuilder class that allows for the quick generation of an IP intelligence pipeline.

Adds share usage and an on-premise IP intelligence engine with simple parameter changes

Parameters
{object}options the options for the pipeline builder
{string}[options.licenceKeys] license key(s) used by the data file update service. A key can be obtained from the 51Degrees website: /pricing?utm_source=code&utm_medium=comment&utm_campaign=51degrees-node&utm_content=fiftyone.ipintelligence.onpremise-ipintelligenceonpremisepipelinebuilder.js&utm_term=constructor. This parameter MUST be set when using a data file. If you do not wish to use a key then you can specify an empty string, but this will cause automatic updates to be disabled.
{string}options.dataFile dataFile path for the on premise engine
{boolean}[options.dataUpdateVerifyMd5] whether to check MD5 of datafile
{boolean}[options.dataUpdateUseUrlFormatter] whether to append default URL params for Data File download
{boolean}[options.autoUpdate] whether to autoUpdate the dataFile
{string}[options.dataUpdateUrl] base url for the datafile update service
{number}[options.pollingInterval] How often to poll for updates to the datafile (minutes)
{number}[options.updateTimeMaximumRandomisation] Maximum randomisation offset in seconds to polling time interval
{boolean}[options.shareUsage] whether to include the share usage element
{boolean}[options.fileSystemWatcher] whether to monitor the datafile path for changes
{boolean}[options.updateOnStart] whether to download / update a dataFile to the path specified in options.dataFile on start
{number}[options.cacheSize] size of the default cache (includes cache if set). NOTE: This is not supported for on-premise engine.
{Array<string>}[options.restrictedProperties] list of properties the engine will be restricted to
{string}[options.performanceProfile] used to control the tradeoff between performance and system memory usage (Only applies to on-premise, not cloud) options are: LowMemory, MaxPerformance, Balanced, BalancedTemp, HighPerformance
{number}[options.concurrency] defaults to the number of cpus in the machine
{boolean}[options.createTempDataCopy] If true, the engine will create a copy of the data file in a temporary location rather than using the file provided directly. If not loading all data into memory, this is required for automatic data updates to occur.
{string}[options.tempDataDir] The directory to use for the temporary data copy if 'createTempDataCopy' is set to true.
{DataFileUpdateService}[options.dataFileUpdateService] Set DataFileUpdateService so the datafiles can receive automatic updates