Forum: Ruby on Rails How do you run custom script with rails ?

Posted by Paritosh P. (paritosh_p)
on 2012-12-23 10:24
I am writing some app which involves execution of external bin/ script.
How
do i run it with RoR apps ?
Currently, i thought of using
`custom_script agr1 arg2`
in my controller/model  . Is it good ? Or you handle it in some other
way ?
Posted by Scott Ribe (Guest)
on 2012-12-23 16:46
(Received via mailing list)
On Dec 23, 2012, at 2:24 AM, Paritosh P. wrote:

> Currently, i thought of using
> `custom_script agr1 arg2`
> in my controller/model  . Is it good ? Or you handle it in some other
> way ?

Depends on awful lot on the script itself. It's not necessarily a bad 
idea, but...

For instance, how long will the script take to run? Is it OK to tie up a 
worker process waiting on it? Does the user expect to see the 
result/confirmation of the script's action right away? Does the user 
only need to see the final result, or do they need updates/info on its 
progress?

Depending on the particulars, it *might* be better to push the request 
on a queue, and have another process executing those requests in the 
background. There are utilities for this...

--
Scott Ribe
scott_ribe@elevated-dev.com
http://www.elevated-dev.com/
(303) 722-0567 voice
Posted by Paritosh P. (paritosh_p)
on 2012-12-23 20:29
Scott Ribe wrote in post #1090011:
> On Dec 23, 2012, at 2:24 AM, Paritosh P. wrote:
>
>> Currently, i thought of using
>> `custom_script agr1 arg2`
>> in my controller/model  . Is it good ? Or you handle it in some other
>> way ?
>
> Depends on awful lot on the script itself. It's not necessarily a bad
> idea, but...
>
> For instance, how long will the script take to run? Is it OK to tie up a
> worker process waiting on it? Does the user expect to see the
> result/confirmation of the script's action right away? Does the user
> only need to see the final result, or do they need updates/info on its
> progress?
>
> Depending on the particulars, it *might* be better to push the request
> on a queue, and have another process executing those requests in the
> background. There are utilities for this...
>
> --
> Scott Ribe
> scott_ribe@elevated-dev.com
> http://www.elevated-dev.com/
> (303) 722-0567 voice

Thanks scott . I will keep this thing in mind .may be i will use
deplayedjob or something like that . My motive is to start some script ,
it will take hour to finish. In this meantime, a user can also start
same process again with different entity or cancel/resume ongoing
processes .
Posted by Frederick Cheung (Guest)
on 2012-12-24 12:59
(Received via mailing list)
.
>

> Thanks scott . I will keep this thing in mind .may be i will use
> deplayedjob or something like that . My motive is to start some script ,
> it will take hour to finish. In this meantime, a user can also start
> same process again with different entity or cancel/resume ongoing
> processes .
>

If it takes an hour to run you could very easily run out of delayed
job processes. In addition to using something like childprocess to
control your child processes, you might want to try if you could write
a single master process that could use select to multiplex io from all
of the child processes.

Fred
Posted by Paritosh P. (paritosh_p)
on 2012-12-24 22:48
Frederick Cheung wrote in post #1090089:
> .
>>
>
>> Thanks scott . I will keep this thing in mind .may be i will use
>> deplayedjob or something like that . My motive is to start some script ,
>> it will take hour to finish. In this meantime, a user can also start
>> same process again with different entity or cancel/resume ongoing
>> processes .
>>
>
> If it takes an hour to run you could very easily run out of delayed
> job processes. In addition to using something like childprocess to
> control your child processes, you might want to try if you could write
> a single master process that could use select to multiplex io from all
> of the child processes.
>
> Fred

is it possible to manage processes with rails ? dont say with system 
command,something more exclusive ?
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.