diff options
Diffstat (limited to 'lib/Thread/Task/Worker.pm')
-rw-r--r-- | lib/Thread/Task/Worker.pm | 36 |
1 files changed, 36 insertions, 0 deletions
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; |