Hi galaxy devs,

We are in the final stages of deploying a new Galaxy instance. We downloaded the galaxy-dist version a month ago aprox. We realized that, when launching a job and deleting it in the middle of the execution (hitting the Delete button in the history bar) will output the following error in the logger:

galaxy.jobs.handler DEBUG 2012-11-05 15:56:33,537 Stopping job 45:
galaxy.jobs.handler DEBUG 2012-11-05 15:56:33,537 stopping job 45 in local runner
galaxy.jobs.handler ERROR 2012-11-05 15:56:33,538 Exception in monitor_step
Traceback (most recent call last):
  File "/usr/local/www/galaxy-dist/lib/galaxy/jobs/handler.py", line 298, in monitor
    self.monitor_step()
  File "/usr/local/www/galaxy-dist/lib/galaxy/jobs/handler.py", line 341, in monitor_step
    self.dispatcher.stop( job )
  File "/usr/local/www/galaxy-dist/lib/galaxy/jobs/handler.py", line 438, in stop
    self.job_runners[runner_name].stop_job( job )
  File "/usr/local/www/galaxy-dist/lib/galaxy/jobs/runners/local.py", line 180, in stop_job
    if job.get_external_output_metadata():
AttributeError: 'Job' object has no attribute 'get_external_output_metadata'

By copying the definition of get_external_output_data from the Task class into the Job class, we fixed the problem and now the jobs are terminated successfully. This is the code I added:

class Job( object ):

...
    def get_external_output_metadata( self ):
        return None
...

In this file:

https://bitbucket.org/galaxy/galaxy-central/src/9d6a61f060d359a0289b3163990f6a8ba122d253/lib/galaxy/__init__.py?at=default

Do you think this fix is correct, or is it a potential problem?

Also, sorry I sent you through this channel, I couldn't find the way of reporting this on BitBucket.

Regards,

--
Juan González-Vallinas
PhD Student
Regulatory Genomics Group
Research Unit in Biomedical Informatics (GRIB)
Universitat Pompeu Fabra (UPF)
Barcelona
Spain
(Currently visitor at UPenn)