diff options
author | dakkar <dakkar@thenautilus.net> | 2010-07-11 20:34:02 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2010-07-11 20:34:02 +0100 |
commit | 6fc388b833ec0e924f663c11089b5c2b373ccf15 (patch) | |
tree | c9e2956ad06c7ef0d8b9e888e36fd88222da056d /lib/Thread/Task/Worker.pm | |
download | Thread-Task-6fc388b833ec0e924f663c11089b5c2b373ccf15.tar.gz Thread-Task-6fc388b833ec0e924f663c11089b5c2b373ccf15.tar.bz2 Thread-Task-6fc388b833ec0e924f663c11089b5c2b373ccf15.zip |
start
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; |