take a break for reading data

This commit is contained in:
mikespook 2012-12-28 17:14:47 +08:00
parent b1eecf8792
commit 6834e94fc5
4 changed files with 38 additions and 2 deletions

View File

@ -15,7 +15,7 @@ const (
// queue size // queue size
QUEUE_SIZE = 8 QUEUE_SIZE = 8
// read buffer size // read buffer size
BUFFER_SIZE = 2048 BUFFER_SIZE = 1024
// \x00REQ // \x00REQ
REQ = 5391697 REQ = 5391697

36
example/py/foobar.py Executable file
View File

@ -0,0 +1,36 @@
#!/usr/bin/python
import gearman
def check_request_status(job_request):
if job_request.complete:
print "Job %s finished! Result: %s - %s" % (job_request.job.unique, job_request.state, job_request.result)
elif job_request.timed_out:
print "Job %s timed out!" % job_request.unique
elif job_request.state == JOB_UNKNOWN:
print "Job %s connection failed!" % job_request.unique
def main():
client = gearman.GearmanClient(['localhost:4730', 'otherhost:4730'])
for i in range(100000000):
try:
completed_job_request = client.submit_job("ToUpper", "arbitrary binary data")
check_request_status(completed_job_request)
except Exception as e:
print type(e)
try:
completed_job_request = client.submit_job("SysInfo", "")
check_request_status(completed_job_request)
except Exception as e:
print type(e)
try:
completed_job_request = client.submit_job("MemInfo", "")
check_request_status(completed_job_request)
except Exception as e:
print type(e)
if __name__ == '__main__':
main()

BIN
example/worker Executable file

Binary file not shown.

View File

@ -116,7 +116,7 @@ BEGIN:
data = append(data, <-a.in...) data = append(data, <-a.in...)
} }
} else { } else {
for { for i := 0; i < 10; i ++ {
buf := make([]byte, common.BUFFER_SIZE) buf := make([]byte, common.BUFFER_SIZE)
var n int var n int
if n, err = a.conn.Read(buf); err != nil { if n, err = a.conn.Read(buf); err != nil {