Please note that VisualCron support is not actively monitoring this community forum. Please use our contact page for contacting the VisualCron support directly.


trevinom
2012-10-23T14:58:08Z
Is there a switch or setting available in VC that will allow me to run all jobs in a server in single-thread mode? By single-thread, I mean that I want all jobs to check to make sure no other jobs are running before they run regardless of whether it's the same that's been rescheduled or a totally unrelated job.
Sponsor
Forum information
bbusse
2012-10-23T15:45:44Z
I do not think this is possible, easily.

Now, there may be a better way to accomplish this, and by no means are my thoughts complete on this.... but you could try this:

Create a Condition for EVERY job you create that specifies 'Is Running' = false

For Every job you have, check the box for every condition relating to other jobs running.

All this will do is make sure that no jobs can run unless the long list of other jobs are not running. This is not dynamic at all, and will likely present more problems. Just a suggestion.

Care to explain why you'd want to use VC this way? I'm racking my brain trying to think of a good reason other than all jobs are using the same application and it doesn't play nicely with multiple threads being called to it.

That being said, another thought just popped into my head if you're doing this because of my previous statement. Instead of a condition for every job, you could add a condition for a specific Process (I.e. Application Executable) and make sure its not running, and only then would your job run. (still a possibility of 2+ jobs kicking off at once assuming the same schedule/trigger and your job doesn't start the process quick enough for the other to see it)

Brian
trevinom
2012-10-23T16:54:10Z
I am trying to use generic variables and jobs/task to email/log every time a job goes down.
I have 3 different environments that I'm trying to keep in sync: Test, Acceptance and Production.
Every time I take a job from my Test box to Acceptance, then Production that points to Test Oracle dbs, Test Sans and test client boxes, I have to change all my pointers in all my jobs to point to my failed tasks that email/message me when they go down. I am having to check to see what the task ID is for every job that points to the failed tasks and change it to whatever it gets set to in each of the new environments.
If I can have a generic job/task that does this, I only have to run a find/replace for the one job/task every time.

This works in every case, except when the generic variables I'm using get overwritten by concurrent running jobs. I end up getting emails/logs that don't correspond to the job that had the problem.
So if there is an easy way to force VC to only run one job at a time, I won't have to worry about this problem.

To implement your suggestion, I'd have to check the variable, then reset it at the end of the job AND I would have to have a way of requeueing the job to try again after a given time so that eventually it runs.
Support
2012-10-23T17:31:38Z
I am moving this topic to Feature requests. Right now only workarounds are possible for this like creating and looking at Variables (using Conditions) for example.
Henrik
Support
http://www.visualcron.com 
Please like  VisualCron on facebook!
Joan
2012-11-11T22:50:36Z
Trev,

I wonder if you've missed the point of having connections?

My DEV environment uses connections that point to DEV. When I import those jobs into QA I change the connections and the jobs all work correctly.

Joan.
Scroll to Top