[gold-users] API Question
Scott Jackson
scottmo at clusterresources.com
Tue Apr 28 10:46:51 MDT 2009
Per `PERL5LIB=/usr/local/gold/lib perldoc Gold::Request`:
request = $request->setCondition($name[, $value[, $op[, $conj[,$group[,
$object[, $subject]]]]]]);
To do this properly, you will need to conceptually group them in
parentheses so that you do not get improper combining of other requested
options, i.e what you really want is the equivalent of:
goldsh Job Query ( User==mike || User==other || User==bob )
This would be something like:
$request->setCondition("User, "mike", "And", "+1");
$request->setCondition("User, "other", "Or");
$request->setCondition("User, "bob", "Or", "-1");
The first group=+1, adds a leading parentheses before the condition
The last group=-1, adds a trailing parentheses after the condition
The first one should be an And so that the parenthesized set is anded
with other glsuser conditions (like -p, -m, etc.)
You might want to put your code in something like this:
my $firstTime = 1;
my $counter = 0;
foreach my $user (@users)
{
$counter++;
my $lastTime = ($counter == @users) ? 1 : 0;
if ($firstTime && $lastTime)
{
$request->setCondition("User, $user, "And", "0");
}
elsif ($firstTime)
{
$request->setCondition("User, $user, "And", "+1");
}
elsif ($lastTime)
{
$request->setCondition("User, $user, "Or", "-1");
}
else
{
$request->setCondition("User, $user, "Or", "0");
}
}
Scott
Kevin Van Workum wrote:
> Hi,
>
> I'm writing a perl script to expand the functionality of glsjob for my
> users. I'd like to be able to list the jobs for more than one user,
> e.g. glsjob -u mike -u bob. To get a single user I can do:
>
> $request->setCondition("User", $user);
>
> but how do I do the equivalent of:
>
> goldsh Job Query User==mike || User==bob
>
> using the API?
>
> Something like this maybe:
>
> for my $user (@users) {
> $request->setCondition("User, $user, "OR");
> }
>
>
>
> --
> Kevin Van Workum, Ph.D.
> ------------------------------------------------------------------------
>
> _______________________________________________
> gold-users mailing list
> gold-users at supercluster.org
> http://www.supercluster.org/mailman/listinfo/gold-users
>
More information about the gold-users
mailing list