Tôi có một vai trò Azure Worker rằng có ba loại của các quá trình:Khi nào tôi nên sử dụng tùy chọn LongRunning Task Creation?
- C chủ đề # mà đọc từ cơ sở dữ liệu và ghi vào nhân-input-queue (task1)
- Java chủ đề mà đọc từ công nhân-input-queue làm việc và ghi vào nhân-ra-queue
- C# chủ đề mà đọc từ nhân-ra-queue và ghi vào cơ sở dữ liệu (Task2)
Task1 và Task2 chạy vô hạn định và ngủ nếu hàng đợi tương ứng của chúng trống.
Mã của tôi trông như thế này:
SpawnJavaProcesses();
Task.Factory.StartNew(Task1);
Task.Factory.StartNew(Task2);
while(true)
{
//do some trivial sporadic work
Thread.Sleep(60*1000);
}
Câu hỏi của tôi:
- Tôi có nên sử dụng tùy chọn sáng tạo nhiệm vụ LongRunning khi bắt đầu task1 và Task2?
- Có cách nào tốt hơn để triển khai những gì tôi đang cố gắng làm ở đây không?
Trong khi điều này hoạt động trên máy đa lõi cục bộ, tôi thấy rằng khi tải lên vai trò Azure lõi đơn, chỉ luồng chính và quy trình Java mới có thời gian thực thi trong khi Task1 và Task2 thì không. Điều này có liên quan đến việc sử dụng các tác vụ trên các hệ thống lõi đơn không? – Gilad