From 6fc388b833ec0e924f663c11089b5c2b373ccf15 Mon Sep 17 00:00:00 2001 From: dakkar Date: Sun, 11 Jul 2010 20:34:02 +0100 Subject: start --- lib/Thread/Task/Worker.pm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 lib/Thread/Task/Worker.pm (limited to 'lib/Thread/Task/Worker.pm') diff --git a/lib/Thread/Task/Worker.pm b/lib/Thread/Task/Worker.pm new file mode 100644 index 0000000..f0ec3e6 --- /dev/null +++ b/lib/Thread/Task/Worker.pm @@ -0,0 +1,36 @@ +use 5.008003; +use MooseX::Declare; + +class Thread::Task::Worker extends Thread::Task::Thread { + use TryCatch; + + use MooseX::Types::Moose qw(Object Bool Int ArrayRef); + use Thread::Task::Types qw(Handle_T Worker_T Task_T Conduit_T Finished_ET); + + has hid => ( + isa => Int, + is => 'rw', + predicate => 'has_hid', + clearer => 'clear_hid', + required => 0, + ); + + method task(ArrayRef $task_array) { + require Thread::Task::Handle; + + my $handle = Thread::Task::Handle->from_array($task_array); + + try { + $handle->started; + $handle->run; + $handle->stopped; + } + catch { + # trace + } + return; + } + +} + +1; -- cgit v1.2.3