#!/usr/bin/perl
# This code was forked from the LiveJournal project owned and operated
# by Live Journal, Inc. The code has been modified and expanded by 
# Dreamwidth Studios, LLC. These files were originally licensed under
# the terms of the license supplied by Live Journal, Inc, which can
# currently be found at:
#
# http://code.livejournal.org/trac/livejournal/browser/trunk/LICENSE-LiveJournal.txt
#
# In accordance with the original license, this code and all its
# modifications are provided under the GNU General Public License. 
# A copy of that license can be found in the LICENSE file included as
# part of this distribution.

use strict;
BEGIN {
    require "$ENV{LJHOME}/cgi-bin/ljlib.pl";
}

LJ::Worker::DirectoryMeta->run;

package LJ::Worker::DirectoryMeta;
use base 'LJ::Worker::Manual';
use LJ::UserSearch::MetaUpdater;

# return 1 if we did work, false if not.
sub work {
    my $class = shift;
    my $did_work = 0;

    my $t1 = time();
    while (LJ::UserSearch::MetaUpdater::update_some_rows()) {
        return 1 if time() > $t1 + 30;
        $did_work = 1;
    }

    if (my $lock = LJ::locker()->trylock("dirpack:addrows")) {
        if (LJ::UserSearch::MetaUpdater::missing_rows()) {
            print "adding missing rows....\n";
            LJ::UserSearch::MetaUpdater::add_some_missing_rows();
            $did_work = 1;
        }
    }

    return $did_work;
}

