Commit Graph

41 Commits

Author SHA1 Message Date
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