Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ExifToolOptions

Hierarchy

  • BatchClusterOptions
  • BatchProcessOptions
  • ChildProcessFactory
    • ExifToolOptions

Index

Properties

endGracefulWaitTimeMillis

endGracefulWaitTimeMillis: number

When this.end() is called, or Node broadcasts the beforeExit event, this is the milliseconds spent waiting for currently running tasks to finish before sending kill signals to child processes.

Setting this value to 0 means child processes will immediately receive a kill signal to shut down. Any pending requests may be interrupted. Must be >= 0. Defaults to 500ms.

exiftoolArgs

exiftoolArgs: string[]

Args passed to exiftool on launch.

exiftoolPath

exiftoolPath: string

Allows for non-standard paths to ExifTool. Defaults to the perl or windows binaries provided by exiftool-vendored.pl or exiftool-vendored.exe.

Optional exitCommand

exitCommand: undefined | string

Command to end the child batch process. If not provided, stdin will be closed to signal to the child process that it may terminate, and if it does not shut down within endGracefulWaitTimeMillis, it will be SIGHUP'ed.

fail

fail: string | RegExp

Expected text to print if a command fails. Cannot be blank. Strings will be interpreted as a regular expression fragment.

maxProcAgeMillis

maxProcAgeMillis: number

Child processes will be recycled when they reach this age.

If this value is set to 0, child processes will not "age out".

This value must not be less than spawnTimeoutMillis or taskTimeoutMillis.

Defaults to 5 minutes.

maxProcs

maxProcs: number

The maximum number of ExifTool child processes to spawn when load merits.

Defaults to 1/4 the number of CPUs, minimally 1.

maxReasonableProcessFailuresPerMinute

maxReasonableProcessFailuresPerMinute: number

If the initial versionCommand fails for new spawned processes more than this rate, end this BatchCluster and throw an error, because something is terribly wrong.

If this backstop didn't exist, new (failing) child processes would be created indefinitely.

Must be >= 0. Defaults to 10.

maxTasksPerProcess

maxTasksPerProcess: number

The maximum number of requests a given ExifTool process will service before being retired.

Defaults to 500, to balance performance with memory usage.

numericTags

numericTags: string[]

Tag names (which can have '*' glob matchers) which you want numeric values, rather than ExifTool's "Print Conversion."

If the tag value is only for human consumption, you may want to leave this blank. The default is ["*Duration*"], but you may want to include "Orientation" as well.

onIdleIntervalMillis

onIdleIntervalMillis: number

An interval timer is scheduled to do periodic maintenance of underlying child processes with this periodicity.

Defaults to 2 seconds.

pass

pass: string | RegExp

Expected text to print if a command passes. Cannot be blank. Strings will be interpreted as a regular expression fragment.

processFactory

processFactory: function

Expected to be a simple call to execFile. Platform-specific code is the responsibility of this thunk. Error handlers will be registered as appropriate.

Type declaration

    • (): ChildProcess
    • Returns ChildProcess

spawnTimeoutMillis

spawnTimeoutMillis: number

Spawning new ExifTool processes must not take longer than spawnTimeoutMillis millis before it times out and a new attempt is made. Be pessimistic here--windows can regularly take several seconds to spin up a process, thanks to antivirus shenanigans. This can't be set to a value less than 100ms.

Defaults to 30 seconds, to accomodate slow Windows machines.

taskRetries

taskRetries: number

The number of times a task can error or timeout and be retried.

Defaults to 1 (every task gets 2 chances).

taskTimeoutMillis

taskTimeoutMillis: number

If requests to ExifTool take longer than this, presume the underlying process is dead and we should restart the task. This can't be set to a value less than 10ms, and really should be set to at more than a second unless taskRetries is sufficiently large or all writes will be to a fast local disk. Defaults to 10 seconds.

versionCommand

versionCommand: string

Low-overhead command to verify the child batch process has started. Will be invoked immediately after spawn. This command must return before any tasks will be given to a given process.

Generated using TypeDoc