2013-05-04 25 views
5

Tôi đang cố gắng hiểu Gearman nhưng cho đến bây giờ tôi không thể tìm ra sự khác biệt giữa nhiệm vụ và công việc là gì.Sự khác biệt giữa công việc và nhiệm vụ của Gearman là gì?

Tôi đang cố tạo một ứng dụng khách sẽ phân tích cú pháp định kỳ (mỗi 10 phút) một trang XML. Cách tiếp cận tốt nhất là gì?

+1

Công việc trả về một tay cầm và nó sẽ được thực hiện một thời gian trong tương lai một cách không đồng bộ, trong khi nhiệm vụ đang chặn và khi cuộc gọi trả về, nó sẽ thực hiện đơn vị công việc cho bạn. Nếu bạn đang phân tích cú pháp XML theo lịch biểu, tôi chỉ cần gọi trình phân tích cú pháp trực tiếp từ cron; máy chủ công việc hữu ích hơn khi bạn có một tập hợp các công việc đang được tạo trên cơ sở không thể dự đoán được (nói yêu cầu của người dùng) và chúng cần phải được thực hiện theo một cách có giới hạn, tài nguyên. – halfer

+0

@halfer - Tôi không nghĩ rằng nhiệm vụ phải nhất thiết phải chặn. Một số nhiệm vụ trong một công việc có thể được chạy độc lập cho các ví dụ trong các chủ đề riêng biệt và chúng có thể được thực hiện để nối với nhau bằng cách sử dụng phương thức join() để hoàn thành công việc. – nanosoft

Trả lời

2

Sổ tay offers a terrific explanation:

Jobs vs Nhiệm vụ

Một tác vụ là bất kỳ yêu cầu hoặc thông tin liên lạc giữa máy khách và máy chủ công việc . Nhiệm vụ thường là giao tiếp về số một công việc. Công việc có thể là please run this job hoặc what is the status of this job. Công việc là điều gì đó mà công nhân làm, liên tục đợi máy chủ việc làm cho anh ta biết khi nào bắt đầu và với những đối số nào. Khách hàng gửi công việc và yêu cầu trạng thái về công việc (cả hai việc này được coi là công việc). Công nhân thực sự thực hiện công việc.

Các vấn đề liên quan