Skip to content

Commit 9ad4a46

Browse files
committed
remove getData() and setData() from task class
2 parents 6f558ea + e1ac7ba commit 9ad4a46

File tree

2 files changed

+46
-39
lines changed

2 files changed

+46
-39
lines changed

README.md

+45-38
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ lightweight and powerful task load balancing for php
88
- Support multiple drives for every task.
99
- Automatically choose a driver to execute task by drivers` weight value.
1010
- Support multiple backup drivers.
11-
- task cycle life hooks.
11+
- task lifecycle and hooks.
1212

1313
# Install
1414

1515
```php
16-
composer require 'toplan/task-balancer:~0.1.0'
16+
composer require 'toplan/task-balancer:~0.1.2'
1717
```
1818

1919
# Usage
@@ -58,28 +58,32 @@ $result = Balancer::run('task1');
5858

5959
## Create & Run
6060

61-
###1. Balancer::task($name [, $data], $work);
61+
### Balancer::task($name [, $data], $work);
6262

6363
create a task instance, return task instance.
6464

6565
```php
6666
Balancer::task('taskName', $data, function($task){
67-
//task init work
67+
//task`s ready work, like create drivers
6868
});
6969
```
7070

71-
**note:** `$data` will store in task instance.
71+
> `$data` will store in task instance.
7272
73-
###2. Balancer::run($taskName [, $data])
73+
### Balancer::run($taskName [, $data])
7474

7575
run the task, and return a results array.
76-
**note:** `$data` will override data which in task instance.
76+
> `$data` will override data which in task instance.
7777
78-
###3. $task->driver($optionString, [$weight, 'backup', ] $work);
78+
### $task->data($data)
79+
80+
set the data value of task instance, will override origin data.
81+
82+
### $task->driver($optionString [, $weight] [, 'backup'], $work);
7983

8084
create a driver instance for `$task`, return driver instance.
8185

82-
**note:** `$weight` must be a integer, default value is '1'
86+
> `$weight` must be a integer, default value is '1'
8387
8488
```php
8589
$task->driver('driverName 80 backup', function($driver, $data){
@@ -88,85 +92,88 @@ $task->driver('driverName 80 backup', function($driver, $data){
8892
});
8993
```
9094

91-
###4. $driver->weight($weight)
95+
### $driver->weight($weight)
9296

9397
set driver`s weight, return current driver,
9498
supported chain operation.
9599

96-
**note:** `$weight` must be a integer
100+
> `$weight` must be a integer
97101
98-
###5. $driver->backup($is)
102+
### $driver->backup($is)
99103

100104
set driver is backup, return current driver,
101105
supported chain operation.
102106

103-
**note:** `$is` must be true of false
107+
> `$is` must be true of false
104108
105-
###6. $driver->data($data);
109+
### $driver->data($data);
106110

107-
set data for driver`s work use,
111+
set the data value of driver instance,
108112
support chain operation.
109113

110-
**note:** `$data` will store in driver instance.
114+
> `$data` will store in driver instance.
111115
112-
###7. $driver->work(function($driver, $data){});
116+
### $driver->work(function($driver, $data){});
113117

114118
set driver work, give two arguments: `$driver` and `$data`,
115119
support chain operation.
116120

117-
**note:** `$data` is try to get from driver instance,
121+
> `$data` is a value try to get from driver instance,
118122
if null will continue try to get from task instance.
123+
>
124+
> `$data` equals to `$driver->getData()`
119125
120-
###8. $driver->failed()
126+
### $driver->failed()
121127

122128
set current driver run failed,
123129
support chain operation.
124130

125-
###9. $driver->success()
131+
### $driver->success()
126132

127133
set current driver run successful.
128134
support chain operation.
129135

130-
###10. $driver->getDriverData()
136+
### $driver->getDriverData()
137+
138+
get data value of driver instance.
131139

132-
get data from driver instance.
140+
### $driver->getTaskData()
133141

134-
###11. $driver->getTaskData()
142+
get data value of task instance.
135143

136-
get data from task instance.
137144

138-
## Task Cycle Life
145+
## Task Lifecycle
139146

140147
| Hook name | handler arguments | handler return value |
141148
| --------- | :----------------: | :-----: |
142-
| beforeCreateDriver | $task | on effect |
143-
| afterCreateDriver | $task | on effect |
149+
| beforeCreateDriver | $task | no effect |
150+
| afterCreateDriver | $task | no effect |
144151
| beforeRun | $task | if `false` will stop run task and return `false` |
145152
| beforeDriverRun | $task | no effect |
146153
| afterDriverRun | $task | no effect |
147154
| afterRun | $task, $results | override run task`s results data |
148155

149-
###1. $task->hook($hookName, $handler);
156+
### $task->hook($hookName, $handler);
150157

151-
###2. $task->beforeCreateDriver($handler);
158+
### $task->beforeCreateDriver($handler);
152159

153-
###3. $task->afterCreateDriver($handler);
160+
### $task->afterCreateDriver($handler);
154161

155-
###4. $task->beforeRun($handler);
162+
### $task->beforeRun($handler);
156163

157-
###5 $task->beforeDriverRun($handler)
164+
### $task->beforeDriverRun($handler)
158165

159-
###6 $task->afterDriverRun($handler)
166+
### $task->afterDriverRun($handler)
160167

161-
###7. $task->afterRun($handler);
168+
### $task->afterRun($handler);
162169

163170

164171
# Todo
165172

166-
- [x] remember every tasks` start time and end time.
167-
- [x] remember every drivers` start time and end time.
168-
- [x] smart parse driver`s create arguments in task class
169-
- [x] define task`s lifecycle and hook
173+
- [x] remember every task`s start time and end time.
174+
- [x] remember every driver`s start time and end time.
175+
- [x] smart parse arguments of method `driver()`.
176+
- [x] task lifecycle and hooks
170177
- [ ] pause/resume task
171178

172179
# Dependents

composer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "toplan/task-balancer",
33
"description": "lightweight and powerful task load balancing for php (like the nginx load balancing)",
44
"license": "MIT",
5-
"version": "0.1.0",
5+
"version": "0.1.2",
66
"keywords": ["task", "balance", "load balancing", "balancer"],
77
"authors": [
88
{

0 commit comments

Comments
 (0)