Kyle Vigen
f22d6d7e8d
Ability to exit work loop gracefully
...
This change adds the ability to call Shutdown on a gearman-go worker which causes the
worker to wait for all currently active jobs to finish and then close the connection.
It does this by keeping tracking of the number of currently active transactions, disallowing
new job creation, and using a WaitGroup to wait for all active jobs to finish.
2016-04-26 17:35:44 -07:00
Xing Xing
9dbb3ea3fc
added lock-write to co-ordinate package sequence #56
2015-01-15 10:26:53 +08:00
Xing Xing
a003eac543
fixed the closing method
2015-01-06 11:34:39 +08:00
Joe Higton
09c626f488
Cope with io.EOF as a disconnect error
2014-06-10 03:46:21 +01:00
Joe Higton
1ebb3d5fcc
Wrap disconnect errors and allow reconnect
2014-06-10 03:23:18 +01:00
draxil
6688c29c37
Enahanced Work() without Ready() behaviour:
...
Now if you try to call Work() without calling Ready(), it will trigger an attempt to run Ready(), and will only panic if there is an error.
2014-06-01 16:59:57 +01:00
Joe Higton
24e93b4a2c
More helpful panic if you call Work() before you call Ready()
2014-05-29 15:35:27 +01:00
Xing Xing
0a6bacbe82
SUBMIT_JOB_SCHED is deprecated, worker.Immediately should be removed.
2014-01-16 09:43:06 +08:00
Xing Xing
9f96247384
fixed the worker's testing cases
2013-12-26 15:55:16 +08:00
Xing Xing
59941371fb
Something should not display in documents, disabled.
2013-12-26 12:32:27 +08:00
Xing Xing
18791d0490
a better documents
2013-12-26 12:06:47 +08:00
Xing Xing
298edadfa6
a better doc
2013-12-25 18:11:01 +08:00
Xing Xing
02e6bfebcb
prepared for documentation
2013-12-25 17:01:42 +08:00
Xing Xing
ddba5ab2f2
blocking on GRAB_JOB instead of executing blocked
2013-12-25 15:13:21 +08:00
Xing Xing
fbfe7c0b22
The limitation param was removed
2013-12-24 17:41:11 +08:00
Xing Xing
2da5f29cd1
refactoring complated
2013-12-24 14:35:33 +08:00
Xing Xing
2ee2be0891
go fmt
2013-12-23 17:05:42 +08:00
Xing Xing
2b4cc002d1
grab, no_job, pre_sleep, noop
2013-12-23 17:01:01 +08:00
Xing Xing
a33a6cde32
complated in/out-pack name's refactoring
2013-12-21 11:09:13 +08:00
Xing Xing
e9c29799fb
refactoring worker side data package
2013-12-20 15:24:22 +08:00
Xing Xing
e5179e3b5b
started refactoring worker
2013-08-30 18:01:10 +08:00
Xing Xing
124e686699
go fmt
2013-08-30 12:36:57 +08:00
mikespook
8e009be940
#14 fixed
2013-04-24 16:58:06 +08:00
mikespook
568c70b083
#12 fixed
2013-04-23 16:58:06 +08:00
miraclesu
9549d98a7c
Close friendly
2013-03-26 17:22:07 +08:00
mikespook
aa9b5e9598
Start working loop first
2013-01-11 11:33:13 +08:00
suchj
37d7888544
fixed job limit bug
2012-12-29 23:54:20 +08:00
mikespook
d6c6bfe9f0
moved to github
2012-12-21 11:11:37 +08:00
mikespook
91b315d61b
a wild pointer captrued
2012-11-21 17:53:49 +08:00
mikespook
fe5a31a51e
fixed resources leaking
...
--HG--
branch : dev
2012-09-02 22:42:54 +08:00
mikespook
b7ee1d68f5
fixed a exec issue, timeout exec need to fix
...
--HG--
branch : dev
2012-08-30 16:12:15 +08:00
mikespook
79c4bc2e47
promoted the executing timeout
...
--HG--
branch : dev
2012-06-05 14:36:39 +08:00
mikespook
cdfe4fff6c
recover
2012-06-04 22:27:10 +08:00
mikespook
a980bc5de2
time out not work
2012-06-04 17:20:04 +08:00
mikespook
a142bcff58
fixed the limited issue
2012-06-04 16:34:29 +08:00
mikespook
6d68430f75
added a timeout at the worker side
2012-06-04 16:12:06 +08:00
mikespook
83f5f6fa70
fixed the example
2012-06-01 14:28:10 +08:00
mikespook
842edf79ba
fixed a infinite loop
2012-05-28 10:34:16 +08:00
mikespook
d6a9025a56
The worker can be working now.
...
--HG--
branch : 0.1
2012-05-24 16:49:35 +08:00
mikespook
2960cb9953
refacotring worker's code
...
--HG--
branch : 0.1
rename : worker/jobagent.go => worker/agent.go
rename : worker/workerjob.go => worker/job.go
2012-05-23 17:45:52 +08:00
mikespook
7614c2678a
make a new branch, refactoring codes
...
--HG--
branch : 0.1
rename : gearman/client/client.go => client/client.go
rename : gearman/client/client_test.go => client/client_test.go
rename : gearman/client/clientjob.go => client/job.go
rename : gearman/gearman.go => common/gearman.go
rename : gearman/worker/jobagent.go => worker/jobagent.go
rename : gearman/worker/worker.go => worker/worker.go
rename : gearman/worker/worker_test.go => worker/worker_test.go
rename : gearman/worker/workerjob.go => worker/workerjob.go
2012-05-22 20:05:39 +08:00