2010-06-17 6 views
1

J'exécute une tâche rake (qui doit être lancée depuis ~ 24 heures) mais elle s'arrête dans un temps inattendu. STRERR est vide. Le code qui exécute la tâche:Les appels système se terminent

@bucket = Bucket.find(params[:id]) 
cmd = "#{`which rake`.chomp} bucket:generate[#{@bucket.id}] --trace 2>&1 > #{Rails.root}/log/bucket-#{@network.id}.log &" # 2> #{Rails.root}/log/bucket-#{@network.id}-error.log &" 
system(cmd) 
flash[:notice] = "Generation started" 
redirect_to buckets_path 

Si je lance la tâche de la console, il exécute normalement, mais arrête tâche exécutée par le contrôleur après un certain temps ...

Répondre

1

demandes éventuellement temps sur; ce n'est pas le bon endroit pour une telle commande.

Au lieu de cela, essayer quelque chose d'autre pour planifier des tâches, comme Cron, ou mon petit bijou démon planificateur:

http://www.github.com/ssoroka/scheduler_daemon

Si elle a besoin d'être entraîné à partir du contrôleur, faites-le mettre à jour une entrée de base de données ou même écrire un fichier à la place.

+0

Merci! C'est ce dont j'ai besoin. –

Questions connexes