53 lines
1.2 KiB
Perl
Executable File
53 lines
1.2 KiB
Perl
Executable File
use strict;
|
|
|
|
package Gearman::Client;
|
|
use fields (
|
|
'job_servers',
|
|
'js_count',
|
|
'sock_cache', # hostport -> socket
|
|
);
|
|
|
|
package Gearman::Taskset;
|
|
|
|
use fields (
|
|
'waiting', # { handle => [Task, ...] }
|
|
'client', # Gearman::Client
|
|
'need_handle', # arrayref
|
|
|
|
'default_sock', # default socket (non-merged requests)
|
|
'default_sockaddr', # default socket's ip/port
|
|
|
|
'loaned_sock', # { hostport => socket }
|
|
|
|
);
|
|
|
|
|
|
package Gearman::Task;
|
|
|
|
use fields (
|
|
# from client:
|
|
'func',
|
|
'argref',
|
|
# opts from client:
|
|
'uniq',
|
|
'on_complete',
|
|
'on_fail',
|
|
'on_retry',
|
|
'on_status',
|
|
'retry_count',
|
|
'fail_after_idle',
|
|
'high_priority',
|
|
|
|
# from server:
|
|
'handle',
|
|
|
|
# maintained by this module:
|
|
'retries_done',
|
|
'taskset',
|
|
'jssock', # jobserver socket. shared by other tasks in the same taskset,
|
|
# but not w/ tasks in other tasksets using the same Gearman::Client
|
|
);
|
|
|
|
|
|
1;
|