From c7d37a45352a3fa065958162c49cb25861813503 Mon Sep 17 00:00:00 2001
From: Leo Gordon <lg4@ebi.ac.uk>
Date: Tue, 30 Sep 2014 09:51:39 +0100
Subject: [PATCH] experiment: assume the Worker parameter is always valid and
 see where it fails

---
 modules/Bio/EnsEMBL/Hive/Queen.pm | 2 --
 scripts/beekeeper.pl              | 3 ++-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/modules/Bio/EnsEMBL/Hive/Queen.pm b/modules/Bio/EnsEMBL/Hive/Queen.pm
index 033d0ffdd..66bed6426 100644
--- a/modules/Bio/EnsEMBL/Hive/Queen.pm
+++ b/modules/Bio/EnsEMBL/Hive/Queen.pm
@@ -318,8 +318,6 @@ sub specialize_worker {
 sub register_worker_death {
     my ($self, $worker, $self_burial) = @_;
 
-    return unless($worker);
-
     my $worker_id       = $worker->dbID;
     my $work_done       = $worker->work_done;
     my $cause_of_death  = $worker->cause_of_death || 'UNKNOWN';    # make sure we do not attempt to insert a void
diff --git a/scripts/beekeeper.pl b/scripts/beekeeper.pl
index 38f1dd620..a9f9bd91a 100755
--- a/scripts/beekeeper.pl
+++ b/scripts/beekeeper.pl
@@ -219,7 +219,8 @@ sub main {
     }
 
     if ($kill_worker_id) {
-        my $kill_worker = $queen->fetch_by_dbID($kill_worker_id);
+        my $kill_worker = $queen->fetch_by_dbID($kill_worker_id)
+            or die "Could not fetch worker with dbID='$kill_worker_id' to kill";
 
         unless( $kill_worker->cause_of_death() ) {
             if( my $meadow = $valley->find_available_meadow_responsible_for_worker( $kill_worker ) ) {
-- 
GitLab