2013-05-04 69 views
5

我想了解Gearman,但直到现在我无法弄清楚任务和工作之间有什么区别。Gearman的工作和任务有什么区别?

我想创建一个客户端,它将定期(每10分钟)解析一个XML页面。哪种方法最好?

+1

作业返回一个句柄,它将在未来一段时间内异步完成,而一个任务被阻塞,并且当这个调用返回时它将完成你的工作单元。如果您按计划解析XML,则只需从cron直接调用解析器;当您有一组以不可预测的方式创建的作业(比如用户请求)时,作业服务器会更有用,而且他们需要以有序的,资源有限的方式完成作业。 – halfer 2013-05-04 11:01:55

+0

@halfer - 我不认为任务必须阻止。作业中的某些任务可以在单独的线程中独立运行,并且可以使用join()方法将它们连接起来以完成作业。 – nanosoft 2015-02-15 09:47:44

回答

2

手册offers a terrific explanation

作业与任务

一个任务是客户和作业服务器 之间的任何请求或通信。一项任务通常是工作。任务可能是 please run this jobwhat is the status of this job。一份工作是 工作者所做的事情,不断在作业服务器上等待 告诉他什么时候开始并说什么参数。客户提交作业 并询问有关作业的状态(这两项都被认为是 任务)。工人实际上执行这些工作。