Paul Cameron
a8f0a04c3d
Fix two race conditions in client.Do
...
* Common race condition is fixed by identifying that Client.respHandler
can be completely removed since all respHandler operations (get, put
and invocation) can be moved into the Client.processLoop goroutine,
meaning that zero locking is required. This race condition resulted
in a deadlock that was resolved by the response timeout at the
end of client.Do, returning ErrLostConn
* Rare race condition is fixed by changing responseHandlerMap.get
to .getAndRemove. This race condition resulted in the innerHandler
for a new dtJobCreated assigned in client.Do overriding a stale older
dtJobCreated request, and the newer innerHandler being removed by an
older dtJobCreated in client.processLoop > client.handleInner. When
the newer dtJobCreated response was received, the handler for it had
already been deleted. This was resolved by the response timeout at the
end of client.Do, returning ErrLostConn
2021-05-02 11:31:19 +10:00
Xing Xing
bc80b2f853
fixed signal method
2015-01-16 17:41:19 +08:00
Xing Xing
939189448e
golib/signal upgrade
2015-01-15 10:28:21 +08:00
Xing Xing
ad9b3cb988
go fmt
2015-01-06 11:45:18 +08:00
Xing Xing
9d7a29fe26
Merge branch 'master' into 0.2-dev
2014-03-07 17:33:16 +08:00
Damian Gryski
7229235a4f
Use %v instead of %V, which is not a valid Printf verb
2014-03-07 10:21:45 +01:00
Xing Xing
09542d7176
update examples
2014-03-03 15:23:46 +08:00
Xing Xing
45a9d7c3e5
fixed #31
2014-03-03 11:40:42 +08:00
Xing Xing
3a5d89c67a
fixed typo, issue #27
2014-01-15 10:09:10 +08:00
Xing Xing
87631cc2e5
go fmt & better examples
2014-01-09 17:58:02 +08:00
Xing Xing
bf25cc1728
a better documents for the client package
2013-12-26 15:28:42 +08:00
Xing Xing
18791d0490
a better documents
2013-12-26 12:06:47 +08:00
Xing Xing
02e6bfebcb
prepared for documentation
2013-12-25 17:01:42 +08:00
Xing Xing
3aa95042e6
merge, client need to refactor
2013-12-24 22:04:10 +08:00
Xing Xing
bcff8f7e0d
go fmt
2013-12-24 14:39:04 +08:00
Xing Xing
2da5f29cd1
refactoring complated
2013-12-24 14:35:33 +08:00
Xing Xing
e9c29799fb
refactoring worker side data package
2013-12-20 15:24:22 +08:00
Xing Xing
c8f2f5085c
race is bad, how should we do?
2013-09-22 22:58:22 +08:00
mikespook
5c6d94f385
fixed for travis-ci
2013-06-09 12:35:35 +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
mikespook
7a8a5d4a6a
for issue #10 ; an IdGenerator interface, use bson.ObjectId as default
2013-02-28 13:28:48 +08:00
mikespook
b72825d48a
testing file removed
2012-12-28 17:15:23 +08:00
mikespook
6834e94fc5
take a break for reading data
2012-12-28 17:14:47 +08:00
mikespook
d6c6bfe9f0
moved to github
2012-12-21 11:11:37 +08:00
mikespook
919dfeaff0
A new example added
2012-11-22 17:15:20 +08:00
mikespook
05590bfb8c
Info funcs added
...
--HG--
branch : dev
2012-09-25 15:16:17 +08:00
mikespook
fe5a31a51e
fixed resources leaking
...
--HG--
branch : dev
2012-09-02 22:42:54 +08:00
mikespook
adf3729627
update examples
...
--HG--
branch : dev
2012-08-30 17:56:10 +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
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
563af037cb
fixed client:Job.Encode
...
--HG--
branch : 0.1
2012-05-23 15:22:29 +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
mikespook
e4172dec11
replease ErrQueue to ErrFunc, add a limitation to executing job
2012-05-10 21:25:33 +08:00
mikespook
f7896651a4
upgraded to the newest golib
2012-04-09 09:26:06 +08:00
mikespook
b8ec3fd242
Modified the api, added the interrupt for the example.
2012-03-27 22:48:03 +08:00
mikespook
e0c1537e8e
code refactoring, upgrade to GO1 RC2
...
--HG--
rename : README => README.md
rename : src/gearman/client.go => gearman/client/client.go
rename : src/gearman/client_test.go => gearman/client/client_test.go
rename : src/gearman/clientjob.go => gearman/client/clientjob.go
rename : src/gearman/gearman.go => gearman/gearman.go
rename : src/gearman/jobagent.go => gearman/worker/jobagent.go
rename : src/gearman/worker.go => gearman/worker/worker.go
rename : src/gearman/worker_test.go => gearman/worker/worker_test.go
rename : src/gearman/workerjob.go => gearman/worker/workerjob.go
2012-03-26 13:32:59 +08:00
mikespook
85a02820fc
Upgrade to weekly.2011-12-14
2011-12-28 17:59:44 +08:00
mikespook
e34d969e47
Fix bugs in example codes.
2011-10-09 17:53:55 +08:00
mikespook
e50c4533af
gofix for go's weekly version: weekly.2011-09-01
2011-09-05 12:41:53 +08:00
mikespook
28ac570cbc
fixed issue #1 , user data could contain '\x00' NULL byte now
2011-05-28 12:27:27 +08:00
mikespook
7a4bbcdc55
Format codes by gofmt.
2011-05-24 13:20:22 +08:00
mikespook
82f0ab2cd5
Could not trust os.EOF as the end of msg's mark.
2011-05-24 12:21:49 +08:00
mikespook
2d62a1d5d1
Added python script for testing
2011-05-22 23:02:03 +08:00
mikespook
b4a6f133e1
The first workable version, both worker and client.
2011-05-22 22:16:30 +08:00
mikespook
f6d2a16685
Great. We got it. The client do the job correctly.
2011-05-21 21:11:29 +08:00
mikespook
d8882938f7
no eof got invalid package, would modify the depack method
2011-05-21 12:32:44 +08:00