bioperl / bioperl-live-redmine

Legacy tickets migrated from the OBF Redmine issue tracker: http://redmine.open-bio.org
0 stars 0 forks source link

Bio::DB::GenBank keeping child process ID's #97

Open cjfields opened 8 years ago

cjfields commented 8 years ago

Author Name: Ali Walsh (Ali Walsh) Original Redmine Issue: 3200, https://redmine.open-bio.org/issues/3200 Original Date: 2011-04-12 Original Assignee: Bioperl Guts


When using Bio::DB::GenBank it makes use of Bio::DB::WebDBSeqI and the default retrieval type uses a pipeline that forks a child process to allow parallelism however the process ID of the child is not kept and hence when an error occurs, e.g. a bad gateway or accession not found the child process cannot be killed as the ID is out of scope. For this reason it is difficult to create robust code that correctly handles errors. If the object kept the pid then any processes running that had pid of 0, i.e. they are children could be killed in the catch block when an exception occurs.

cjfields commented 8 years ago

Original Redmine Comment Author Name: Chris Fields Original Date: 2011-05-12T18:31:12Z


The lack of returning a PID is a significant bug. I think the solution in this case is to remove forking altogether and either have a way of creating the forked process elsewhere, or leave it up to the user.