Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
How To Run Multiple Tasks At Once
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  10 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Brian Carpio  
View profile  
 More options Nov 5 2011, 8:22 am
From: Brian Carpio <bcar...@thetek.net>
Date: Sat, 5 Nov 2011 05:22:48 -0700 (PDT)
Local: Sat, Nov 5 2011 8:22 am
Subject: How To Run Multiple Tasks At Once
Lets say I have the following

desc "my task"
task :my_task, :roles => :cluster do
  run "some command here"
  run "some command here"
  run "some command here"
  run "some command here"
  run "some command here"
  run "some command here"
  run "some command here"
end

When I call my_task each command runs one after the other, is there a
way to make Capistrano run them all at once instead of waiting for the
first one to finish then move to the next one?

Thanks,
Brian


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Lee Hambley  
View profile  
 More options Nov 5 2011, 8:31 am
From: Lee Hambley <lee.hamb...@gmail.com>
Date: Sat, 5 Nov 2011 13:31:28 +0100
Local: Sat, Nov 5 2011 8:31 am
Subject: Re: [capistrano] How To Run Multiple Tasks At Once

No, but you should be able to leverage the features of the underlying
shell, and background the process with &.

On 5 November 2011 13:22, Brian Carpio <bcar...@thetek.net> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Donovan Bray  
View profile   Translate to Translated (View Original)
 More options Nov 5 2011, 1:07 pm
From: Donovan Bray <donno...@gmail.com>
Date: Sat, 5 Nov 2011 10:07:09 -0700
Local: Sat, Nov 5 2011 1:07 pm
Subject: Re: [capistrano] How To Run Multiple Tasks At Once
You can do anything that your shell can do.

You have to first determine how you want the commands to exit in case one command fails.

run "a;b;c"

In this case all commands will run regardless of exit code, the exit code of the last command only will be returned to cap.

run "a && b && c"

Will run each command but will exit on the first failure

run "cd /a && b; true"

Will exit and not run b if it can't cd into a;
If it can cd into a then it will run b; but it will always report sucess to cap; even if b fails.

Fair warning sudo doesn't allow you to chain execution this way

sudo "cd /a && b; true"

Won't work as expected; but you could rewrite it as a run.

run "cd /a && #{sudo} b; true"

On Nov 5, 2011, at 5:22 AM, Brian Carpio <bcar...@thetek.net> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Brian Carpio  
View profile  
 More options Nov 5 2011, 3:33 pm
From: Brian Carpio <bcar...@thetek.net>
Date: Sat, 5 Nov 2011 13:33:30 -0600
Local: Sat, Nov 5 2011 3:33 pm
Subject: Re: [capistrano] How To Run Multiple Tasks At Once

I guess I don't want this to be a shell issue, these tasks
aren't dependent on one another so I was hoping capistrano could run them
all at the same time. What if I separate out each run " command " to its
own cap task then can I run cap tasks in parellel?

Thanks,
Brian


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Donovan Bray  
View profile  
 More options Nov 5 2011, 6:56 pm
From: Donovan Bray <donno...@gmail.com>
Date: Sat, 5 Nov 2011 15:56:42 -0700
Local: Sat, Nov 5 2011 6:56 pm
Subject: Re: [capistrano] How To Run Multiple Tasks At Once

What difference does it make?

Commands runs serially in order specified, whether you do it via multiple command passed to the shell or not. Each command is sent in parallel via ssh to all servers specified.

What exactly do you mean in parallel?

On Nov 5, 2011, at 12:33 PM, Brian Carpio <bcar...@thetek.net> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Brian Carpio  
View profile  
 More options Nov 8 2011, 2:10 pm
From: Brian Carpio <bcar...@thetek.net>
Date: Tue, 8 Nov 2011 12:10:45 -0700
Local: Tues, Nov 8 2011 2:10 pm
Subject: Re: [capistrano] How To Run Multiple Tasks At Once

So I am attempting to reduce the downtime of our deployments, in one such
case I umount all database related mount points so I can take a snapshot on
the SAN (this is all automated via capistrano using SAN APIs etc..) it
would be nice if I could have one cap job which ran all 20 commands at
exactly the same time, if that cap command failed I can deal with that in a
paret script which controles the remounting of file systems etc... To me
that is what "in parallel means" all the "run" tasks run at the same time.

Brian


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Lee Hambley  
View profile  
 More options Nov 8 2011, 2:41 pm
From: Lee Hambley <lee.hamb...@gmail.com>
Date: Tue, 8 Nov 2011 20:41:37 +0100
Local: Tues, Nov 8 2011 2:41 pm
Subject: Re: [capistrano] How To Run Multiple Tasks At Once

So leverage the power of your shell, you can run() something and pass the
appropriate nohup/background command to ask your shell to run it in the
background, which will leave cap free to move on to the next run() command,
etc.

- Lee


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Brian Carpio  
View profile  
 More options Nov 8 2011, 2:44 pm
From: Brian Carpio <bcar...@thetek.net>
Date: Tue, 8 Nov 2011 12:44:11 -0700
Local: Tues, Nov 8 2011 2:44 pm
Subject: Re: [capistrano] How To Run Multiple Tasks At Once

The only problem with that is although these 20 tasks
aren't dependent on each other the next cap jobs need to wait for them to
finish before they can run. I guess I can write in logic in cap to check
the status of the jobs that where put into the background, make sure they
are finished then run the next cap job.

Brian


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Donovan Bray  
View profile  
 More options Nov 8 2011, 10:12 pm
From: Donovan Bray <donno...@gmail.com>
Date: Tue, 8 Nov 2011 19:12:30 -0800
Local: Tues, Nov 8 2011 10:12 pm
Subject: Re: [capistrano] How To Run Multiple Tasks At Once

You have 20 hosts you want the same command run  OR 20 different commands on the same host?

If it's the former use roles and define all the servers then target the task to that role; if it's the latter then your going to need to push down a bash script that forks subshells;

On Nov 8, 2011, at 11:10 AM, Brian Carpio <bcar...@thetek.net> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Donovan Bray  
View profile  
 More options Nov 8 2011, 10:16 pm
From: Donovan Bray <donno...@gmail.com>
Date: Tue, 8 Nov 2011 19:16:39 -0800
Local: Tues, Nov 8 2011 10:16 pm
Subject: Re: [capistrano] How To Run Multiple Tasks At Once

Look into bash and forking; because the you can 'join' after all the forking action and return an overall success or failure to cap before it moves on.

On Nov 8, 2011, at 11:44 AM, Brian Carpio <bcar...@thetek.net> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »