system call timeout problem

Hallo,

I upgraded from rails 1.1.x to rails 1.2.x und the following error now
occours.
I do a system call, that transfers a file via lftp:
`lftp -f #{dir}script`
Which just executes lftp with a script file as a parameter. This works
fine and the file transfer is executed correctly, but I now get after
about 2000ms the following errors im my application:

In the Browser:
the standard "rails application failed" error

In the error logs:
SystemExit (exit):
    /var/lib/gems/1.8/gems/rails-1.2.1/lib/fcgi_handler.rb:116:in
`exit'
    /var/lib/gems/1.8/gems/rails-1.2.1/lib/fcgi_handler.rb:116:in
`exit_now_handler'
    /var/lib/gems/1.8/gems/activesupport-1.4.0/lib/active_support/
inflector.rb:251:in `to_proc'
    /var/lib/gems/1.8/gems/activesupport-1.4.0/lib/active_support/
core_ext/kernel/agnostics.rb:7:in `call'
    /var/lib/gems/1.8/gems/activesupport-1.4.0/lib/active_support/
core_ext/kernel/agnostics.rb:7:in ``'
    /var/lib/gems/1.8/gems/activesupport-1.4.0/lib/active_support/
core_ext/kernel/agnostics.rb:7:in ``'
    /app/models/quikftp.rb:86:in `copyFile'
    /app/controllers/quikftp_controller.rb:106:in `copyFile'
    /var/lib/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/
base.rb:1095:in `send'
    /var/lib/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/
base.rb:1095:in `perform_action_without_filters'
    /var/lib/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/
filters.rb:632:in `call_filter'
    /var/lib/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/
filters.rb:638:in `call_filter'
    /var/lib/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/
filters.rb:438:in `call'
    /var/lib/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/
filters.rb:637:in `call_filter'
    /var/lib/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/
filters.rb:619:in `perform_action_without_benchmark'
    /var/lib/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/
benchmarking.rb:66:in `perform_action_without_rescue'
    /usr/lib/ruby/1.8/benchmark.rb:293:in `measure'
    /var/lib/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/
benchmarking.rb:66:in `perform_action_without_rescue'
    /var/lib/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/
rescue.rb:83:in `perform_action'
    /var/lib/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/
base.rb:430:in `send'
    /var/lib/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/
base.rb:430:in `process_without_filters'
    /var/lib/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/
filters.rb:624:in `process_without_session_management_support'
    /var/lib/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/
session_management.rb:114:in `process'
    /var/lib/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/
base.rb:330:in `process'
    /var/lib/gems/1.8/gems/rails-1.2.1/lib/dispatcher.rb:41:in
`dispatch'
    /var/lib/gems/1.8/gems/rails-1.2.1/lib/fcgi_handler.rb:168:in
`process_request'
    /var/lib/gems/1.8/gems/rails-1.2.1/lib/fcgi_handler.rb:143:in
`process_each_request!'
    /var/lib/gems/1.8/gems/rails-1.2.1/lib/fcgi_handler.rb:109:in
`with_signal_handler'
    /var/lib/gems/1.8/gems/rails-1.2.1/lib/fcgi_handler.rb:142:in
`process_each_request!'
    /usr/lib/ruby/1.8/fcgi.rb:612:in `each_cgi'
    /usr/lib/ruby/1.8/fcgi.rb:609:in `each'
    /usr/lib/ruby/1.8/fcgi.rb:609:in `each_cgi'
    /var/lib/gems/1.8/gems/rails-1.2.1/lib/fcgi_handler.rb:141:in
`process_each_request!'
    /var/lib/gems/1.8/gems/rails-1.2.1/lib/fcgi_handler.rb:55:in
`process!'
    /var/lib/gems/1.8/gems/rails-1.2.1/lib/fcgi_handler.rb:25:in
`process!'
    /home/arne/www/mpaiplus.com/http/back/public/dispatch.fcgi:24

Does anybody have an idia what this is about?
Any help is strongly appreciated.

migo

Its extremely *insert your favorite profanity here* to do that. Rails
work on the assumption that all your actions return/render fast and do
not block. What your probably want is to offload this ftp thingy to a
background process.

Most likely backgroundrb is suited for this kinda stuff. there is a
seperate mailing list for backgroundrb, shoot a mail if you can't
figure this out.

Thanks for the advice!
the ftp transfer is actually called as an ajax function, so the
application itself doesnt block (other ajax call check the progress on
the ftp transfer).
I will have a look at the backgroundrb stuff.