Algorithm-Classifier-IsolationForest
view release on metacpan or search on metacpan
lib/Algorithm/Classifier/IsolationForest/App/Command/streamd.pm view on Meta::CPAN
'Seconds between periodic model saves (only when learning happened).',
{ 'default' => 300 }
],
[ 'keep=i', 'Prune all but the newest N timestamped model files after each save.' ],
[ 'f|foreground', 'Do not daemonize; log to stderr unless --log is given.' ],
[
'log=s',
'Log file. Defaults to <model-dir>/streamd.log when daemonized; stderr in the foreground.',
{ 'completion' => 'files' }
],
[ 'socket-mode=s', 'Octal permissions to chmod the socket file to (e.g. 0660).' ],
[ 'threshold=f', 'Alternative decision threshold to use for the label field. 0 < $val < 1' ],
# creation knobs, used only when <model-dir>/latest.json does not exist yet
[ 'n=i', 'Number of isolation trees in the ensemble (new models only).' ],
[ 'window=i', 'Sliding window size; 0 disables forgetting (new models only).' ],
[ 'eta=i', 'max_leaf_samples: points a leaf accumulates before splitting (new models only).' ],
[ 'growth=s', "Leaf split-requirement growth, 'adaptive' or 'fixed' (new models only)." ],
[ 'subsample=f', 'Per-tree stream subsampling probability, in (0, 1] (new models only).' ],
[ 's=i', 'Seed int (new models only).' ],
[
lib/Algorithm/Classifier/IsolationForest/App/Command/streamd.pm view on Meta::CPAN
);
} ## end else [ if ( -e $latest ) ]
# --- bind, then daemonize (the listening fd survives the forks) --------
my $listener = IO::Socket::UNIX->new(
Local => $OPT{'socket'},
Listen => 64,
) or die( 'failed to listen on "' . $OPT{'socket'} . '": ' . $! . "\n" );
$listener->blocking(0);
if ( defined $OPT{'socket_mode'} ) {
chmod( oct( $OPT{'socket_mode'} ), $OPT{'socket'} )
or die( 'failed to chmod "' . $OPT{'socket'} . '" to ' . $OPT{'socket_mode'} . ': ' . $! . "\n" );
}
if ( !$OPT{'f'} ) {
$OPT{'log'} = File::Spec->catfile( $OPT{'model_dir'}, 'streamd.log' )
unless defined $OPT{'log'};
_daemonize();
}
_open_log();
write_file( $OPT{'pid'}, { 'atomic' => 1 }, $$ . "\n" );
( run in 1.043 second using v1.01-cache-2.11-cpan-6aa56a78535 )