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 |