258:, or worker. A worker machine can be assigned multiple instances of the worker role, which allows more powerful computers to complete more portions of a given task. Tasks originate on a client, are transmitted from the client to the job server, and performed on one or more workers. The completed task's output is then returned, again by way of the job server, to the client where the task originated. Gearman is conceptually related to
24:
243:
265:
Gearman performs coalescence on the work sent by a client. If two or more clients ask for work to be completed on the same body of work, either by seeing that the same blocks are being sent or by using the unique value sent by the client, it will coalesce the work so that only one worker is used. It
273:
To mitigate the damage that would be done if a job server (or its network connection) were to fail, clients can be configured with more than one assigned job server; if the first assigned job server fails, another can be transparently substituted.
281:
that consists of binary packets containing requests and responses; this protocol defines the structure of messages passing between the three parts of a
Gearman implementation. By default, the Gearman protocol uses
207:
rather than raw speed may be the main goal; a Web server, for instance, could use
Gearman to send tasks for which it is not optimized to another computer (which may be running on a different
505:
515:
510:
203:
framework designed to distribute appropriate computer tasks to multiple computers, so large tasks can be done more quickly. In some cases,
291:
262:; Gearman handles MapReduce by allowing worker nodes to map out work to other workers, with the original worker acting as the reducer.
283:
126:
101:
75:
451:
204:
407:
327:
134:
231:
130:
267:
208:
402:
Currently there are client libraries for C, Perl, Node.js, Python, PHP, Ruby, Java, .NET, JMS, MySQL,
278:
200:
446:
419:
287:
255:
251:
301:
for "Manager", "since it dispatches jobs to be done, but does not do anything useful itself."
223:
212:
169:
145:
36:
499:
431:
138:
452:
https://web.archive.org/web/20081209012837/http://krow.livejournal.com/628025.html
381:
488:
174:
215:, or loaded with a computer language better suited to a particular operation).
403:
386:
227:
48:
43:
31:
23:
286:
port 4730. It previously operated on port 7003, but this conflicted with the
456:
322:
259:
242:
391:
342:
356:
298:
154:
107:
376:
332:
436:
475:
350:
337:
241:
150:
371:
219:
447:
http://lists.danga.com/pipermail/gearman/2008-April/000076.html
441:
185:
290:port range and the new port (4730) was assigned by
180:
168:
160:
144:
122:
100:
74:
55:
42:
30:
250:Gearman assigns each involved computer a role as
432:http://danga.com/words/2007_06_usenix/usenix.pdf
8:
16:
22:
15:
270:which are common to cache hit failures.
467:
359:(unreleased - currently in development)
353:(unreleased - currently in development)
476:"Gearman [Gearman Job Server]"
230:and Eric Day rewrote the framework in
489:Gearman page Client & Worker APIs
7:
297:The name "Gearman" was chosen as an
81:1.1.19.1 / February 18, 2020
457:GearmanBundle for Symfony2 projects
506:Application programming interfaces
14:
437:http://gearman.org/documentation/
266:does this specifically to avoid
516:Software using the BSD license
372:Gearmand, up to version 1.1.12
246:The Gearman Application Stack.
1:
377:Gearmand, from version 1.1.13
218:It was originally written in
442:http://gearman.org/download/
511:Message-oriented middleware
532:
319:Persistence storage via:
96:
70:
59:January 8, 2009
21:
268:thundering herd problems
201:open-source application
153:, Windows (no server),
313:Round robin scheduling
247:
277:Gearman implements a
245:
83:; 4 years ago
382:java-gearman-service
18:
248:
32:Original author(s)
238:How Gearman Works
194:
193:
523:
491:
486:
480:
479:
472:
414:Similar software
224:Brad Fitzpatrick
213:operating system
211:, using another
190:
187:
146:Operating system
118:
115:
113:
111:
109:
91:
89:
84:
66:
64:
37:Brad Fitzpatrick
26:
19:
531:
530:
526:
525:
524:
522:
521:
520:
496:
495:
494:
487:
483:
474:
473:
469:
465:
428:
416:
400:
387:Gearman::Server
368:
366:Implementations
307:
240:
184:
106:
92:
87:
85:
82:
62:
60:
56:Initial release
12:
11:
5:
529:
527:
519:
518:
513:
508:
498:
497:
493:
492:
481:
466:
464:
461:
460:
459:
454:
449:
444:
439:
434:
427:
426:External links
424:
423:
422:
415:
412:
399:
396:
395:
394:
389:
384:
379:
374:
367:
364:
363:
362:
361:
360:
354:
348:
345:
340:
335:
330:
325:
317:
314:
311:
306:
303:
239:
236:
205:load balancing
192:
191:
182:
178:
177:
172:
166:
165:
162:
158:
157:
148:
142:
141:
124:
120:
119:
104:
98:
97:
94:
93:
80:
78:
76:Stable release
72:
71:
68:
67:
57:
53:
52:
46:
40:
39:
34:
28:
27:
13:
10:
9:
6:
4:
3:
2:
528:
517:
514:
512:
509:
507:
504:
503:
501:
490:
485:
482:
477:
471:
468:
462:
458:
455:
453:
450:
448:
445:
443:
440:
438:
435:
433:
430:
429:
425:
421:
418:
417:
413:
411:
409:
405:
397:
393:
390:
388:
385:
383:
380:
378:
375:
373:
370:
369:
365:
358:
355:
352:
349:
346:
344:
341:
339:
336:
334:
331:
329:
326:
324:
321:
320:
318:
315:
312:
309:
308:
304:
302:
300:
295:
293:
289:
285:
280:
275:
271:
269:
263:
261:
257:
253:
244:
237:
235:
233:
229:
225:
221:
216:
214:
210:
206:
202:
198:
189:
183:
179:
176:
173:
171:
167:
163:
159:
156:
152:
149:
147:
143:
140:
136:
132:
128:
125:
121:
117:
105:
103:
99:
95:
79:
77:
73:
69:
58:
54:
50:
47:
45:
41:
38:
35:
33:
29:
25:
20:
484:
470:
401:
347:tokyocabinet
323:libmemcached
296:
276:
272:
264:
249:
217:
209:architecture
196:
195:
161:Available in
139:Shell script
44:Developer(s)
316:Coalescence
310:Job retries
175:BSD License
500:Categories
404:PostgreSQL
392:TclGearman
328:libdrizzle
228:Brian Aker
123:Written in
102:Repository
88:2020-02-18
63:2009-01-08
51:, Eric Day
49:Brian Aker
463:Citations
260:MapReduce
114:/gearmand
343:Postgres
305:Features
279:protocol
112:/gearman
420:Ansible
408:Drizzle
398:Clients
357:MongoDB
299:anagram
197:Gearman
186:gearman
181:Website
170:License
164:English
155:OpenVMS
86: (
61: (
17:Gearman
406:, and
333:SQLite
256:server
254:, job
252:client
199:is an
108:github
351:Redis
338:MySQL
151:Linux
292:IANA
220:Perl
188:.org
110:.com
288:AFS
284:TCP
222:by
127:C++
502::
410:.
294:.
234:.
226:.
137:,
135:M4
133:,
129:,
478:.
232:C
131:C
116:/
90:)
65:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.