MOON
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
System: Linux csr818.wilogic.com 2.6.18-419.el5xen #1 SMP Fri Feb 24 22:50:37 UTC 2017 x86_64
User: digitals (531)
PHP: 5.4.45
Disabled: NONE
Upload Files
File: //proc/self/root/scripts/build_bandwidthdb_root_cache_in_background
#!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/build_bandwidthdb_root_cache_in_background
#                                                 Copyright(c) 2015 cPanel, Inc.
#                                                           All rights reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

package scripts::build_bandwidthdb_root_cache;

use strict;

use Cpanel::BandwidthDB::RootCache ();
use Cpanel::Daemonizer::Tiny       ();
use Cpanel::ConfigFiles            ();

my $orig_dollar_zero = $0;

__PACKAGE__->script() if !caller;

sub script {
    my $pid = Cpanel::Daemonizer::Tiny::run_as_daemon(
        sub {
            ####
            # The next two calls are unchecked because it cannot be captured when running as a daemon
            Cpanel::FileUtils::Open::sysopen_with_real_perms( \*STDERR, $Cpanel::ConfigFiles::CPANEL_ROOT . '/logs/error_log', 'O_WRONLY|O_APPEND|O_CREAT', 0600 );
            open( STDOUT, '>&', \*STDERR ) || warn "Failed to redirect STDOUT to STDERR";

            Cpanel::BandwidthDB::RootCache->new(
                'import_options' => {
                    before_user => \&_before_user,
                }
            );
        }
    );

    print "Building BandwidthDB RootCache in the background (PID $pid)...\n";

    return;
}

sub _before_user {
    my ($user) = @_;

    $0 = "$orig_dollar_zero - import $user";
    return 1;
}

1;