[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Condor-users] Only run when logged of?



OK I got a bit further with this, but I have one issues,

it seems to partly work, but wihat is happening is that each time it runs the client brieflt picks up a job (it seems).

I had two clients running, one always accepting jobs and the other only when users where logged off.

If i looked at the condor queue, I would see the first machine accepting a job and working on it. However the second machine would accept a job and then stop, then accept another job and stop. so i end up with 1 machine running the job correctly, but my logged on test machine accepting 2 or 3 jobs that it never runs but jsut holds on to.

my current config is as so

STARTD_CRON_JOBLIST = LOGINCHECKER
STARTD_CRON_LOGINCHECKER_PREFIX = LoginChecker
STARTD_CRON_LOGINCHECKER_EXECUTABLE = c:\condor\loggon.vbs
STARTD_CRON_LOGINCHECKER_PERIOD = 1m
STARTD_CRON_LOGINCHECKER_MODE = Periodic
STARTD_CRON_LOGINCHECKER_RECONFIG = True

#STARTD_DEBUG = D_FULLDEBUG

START = LoginCheckerUsersLoggedIn =!= True
KILL = LoginCheckerUsersLoggedIn =!= False

Can some one tell me what the two highlighted lines actuly do? What is the =!= True doing.

I assume that statment says "start jobs if logincheckeruserloggedin does not eaqual true"

here also is an extract from the globle config

##  Also here is what is referred to as the TESTINGMODE_*, which is
##  a quick hardwired way to test Condor with a simple no-preemption policy.
##  Replace UWCS_* with TESTINGMODE_* if you wish to do testing mode.
##  For example:
##  WANT_SUSPEND         = $(UWCS_WANT_SUSPEND)
##  becomes
##  WANT_SUSPEND         = $(TESTINGMODE_WANT_SUSPEND)

# When should we only consider SUSPEND instead of PREEMPT?
WANT_SUSPEND = False

# When should we preempt gracefully instead of hard-killing?
WANT_VACATE = FALSE

##  When is this machine willing to start a job?
START = TRUE

##  When should a local universe job be allowed to start?
#START_LOCAL_UNIVERSE    = TotalLocalJobsRunning < 200

##  When should a scheduler universe job be allowed to start?
#START_SCHEDULER_UNIVERSE    = TotalSchedulerJobsRunning < 200

##  When to suspend a job?
SUSPEND = FALSE

##  When to resume a suspended job?
CONTINUE        = $(UWCS_CONTINUE)

##  When to nicely stop a job?
##  (as opposed to killing it instantaneously)
PREEMPT = FALSE

##  When to instantaneously kill a preempting job
##  (e.g. if a job is in the pre-empting stage for too long)
KILL            = $(UWCS_KILL)

PERIODIC_CHECKPOINT    = $(UWCS_PERIODIC_CHECKPOINT)
PREEMPTION_REQUIREMENTS    = $(UWCS_PREEMPTION_REQUIREMENTS)
PREEMPTION_RANK        = $(UWCS_PREEMPTION_RANK)
NEGOTIATOR_PRE_JOB_RANK = $(UWCS_NEGOTIATOR_PRE_JOB_RANK)
NEGOTIATOR_POST_JOB_RANK = $(UWCS_NEGOTIATOR_POST_JOB_RANK)
MaxJobRetirementTime    = $(UWCS_MaxJobRetirementTime)
CLAIM_WORKLIFE          = $(UWCS_CLAIM_WORKLIFE)

I am assuming that is all find and that the localconfig will over ride the defaults set here?

Cheers

Aaron


> Date: Wed, 29 Sep 2010 09:11:25 -0400
> From: matt@xxxxxxxxxx
> To: condor-users@xxxxxxxxxxx
> CC: davey_street@xxxxxxxxxxx
> Subject: Re: [Condor-users] Only run when logged of?
>
> On 09/29/2010 08:53 AM, Dave STREET wrote:
> > Hi
> >
> > I got a bit stuck with this.
> >
> > I added the following lines to my condor_local.config
> >
> >
> >
> > STARTD_CRON_JOBLIST = LOGINCHECKER
> > STARTD_CRON_LOGINCHECKER_PREFIX = LoginChecker
> > STARTD_CRON_LOGINCHECKER_EXECUTABLE = c:\condor\login.vbs
> > STARTD_CRON_LOGINCHECKER_PERIOD = 1m
> > STARTD_CRON_LOGINCHECKER_MODE = Periodic
> > STARTD_CRON_LOGINCHECKER_RECONFIG = True
> >
> >
> > START = $(LoginCheckerUsersLoggedIn) =!= True
> >
> > but I don't ever see this running in the "StartLog" file. only an error
> > about the syntax "=!= True"
> >
> > I tried removing this to have only
> >
> > START = $(LoginCheckerUsersLoggedIn)
> >
> > but still get nothing and condor does not start?
> >
> > Are there any other config entries that I need to make to get this
> > working. Currently all out Startd setting in the global config are as
> > default set to always run. Or are there any config changes I need to
> > make to enable Startd_cron?
> >
> > Cheers
> >
> > Aaron
>
> Aaron,
>
> Quick comment. I've not been following your entire thread, but you
> probably want
>
> START = LoginCheckerUsersLoggedIn =!= True
>
> There are a few layers of processing at work here. First, the config
> layer (Condor params) is reading the rhs and expanding it. The config
> layer expands $() to the rhs of other configs, e.g.
>
> A = 1
> B = $(A)
>
> And you get B = 1.
>
> Second, the config expanded value is then turned into a ClassAd
> _expression_, start policy. The policy evaluation follows ClassAd rules,
> which actually don't use $() at all for expansion.
>
> Now, if LoginCheckerusersLoggedIn is being set by STARTD_CRON, then it
> is an attribute in the ad where your START _expression_ is evaluated via
> ClassAd rules, not via configuration. So, don't use $() for it.
>
> Side note, I bet the Startd (StartLog) is complaining about the START
> policy being equal to "=!= True" because $(LoginCheckerUsersLoggedIn) is
> expanding on the config level to the empty string.
>
> Best,
>
>
> matt