#!/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"; } use Gearman::Worker; use Storable; use LJ::Worker::Gearman; use LJ::Directory::Constraint; gearman_decl("directory_search_constraint" => \&dir_search_constraint); gearman_work(); sub dir_search_constraint { my $job = shift; my $args = eval { Storable::thaw($job->arg) } || []; my $constraint = LJ::Directory::Constraint->deserialize(${$args->[0]}); return undef unless $constraint; my $res = $constraint->sethandle; my $res_str = $res->as_string; return $res_str; }