Rake Task: passing params and return values

1. Is there a way to pass params to a rake task and have it return
values?

2. I have seen the ENV var being used to pass in the args to rake. Is it
thread safe? Are there any unintended consequences if two controllers
execute a new task?

3. Is it advisable to invoke a rake task (from a controller) to update
the DB?

···

--
Posted via http://www.ruby-forum.com/.

Harp Oon wrote:

1. Is there a way to pass params to a rake task and have it return
values?

2. I have seen the ENV var being used to pass in the args to rake. Is it
thread safe? Are there any unintended consequences if two controllers
execute a new task?

3. Is it advisable to invoke a rake task (from a controller) to update
the DB?

My tasks.rake file has:

task :my_script => :environment do
       puts "ID: = #{args.user_id}"
end

and I invoke it using:

load "#{RAILS_ROOT}/Rakefile"
def update_user
    Rake::Task["my_script"].invoke
end

Using the code above, how would I pass in arguments to the script?

···

--
Posted via http://www.ruby-forum.com/\.

Hi,

Why use rake to update the database? You're better off using the controller to update the database, with a model or two - that is, after all, what the model was designed for.

Julian.

···

On 16/03/2008, at 4:20 PM, Harp Oon wrote:

1. Is there a way to pass params to a rake task and have it return
values?

2. I have seen the ENV var being used to pass in the args to rake. Is it
thread safe? Are there any unintended consequences if two controllers
execute a new task?

3. Is it advisable to invoke a rake task (from a controller) to update
the DB?
--
Posted via http://www.ruby-forum.com/\.