Bỏ qua

Tài liệu Endpoint Trạng thái công việc

1. Tổng quan

Endpoint https://api.revidapi.com/paid/get/job/status là một phần của RevidAPI và được sử dụng để lấy trạng thái của một công việc cụ thể. Nó phù hợp với cấu trúc API tổng thể như một endpoint tiện ích để giám sát và quản lý các công việc đã được gửi đến các endpoint xử lý phương tiện khác nhau.

Tutorials RevidAPI

2. Endpoint

URL Path: https://api.revidapi.com/paid/get/job/status HTTP Method: POST

3. Yêu cầu

Headers

  • x-api-key (bắt buộc): API key để xác thực.

Tham số Body

Body yêu cầu phải là đối tượng JSON với tham số sau:

  • job_id (string, bắt buộc): Mã định danh duy nhất của công việc mà trạng thái được yêu cầu.

Directive validate_payload trong tệp routes áp dụng schema JSON sau cho body yêu cầu:

{
    "type": "object",
    "properties": {
        "job_id": {
            "type": "string"
        }
    },
    "required": ["job_id"],
}

Ví dụ yêu cầu

{
    "job_id": "e6d7f3c0-9c9f-4b8a-b7c3-f0e3c9f6b9d7"
}
curl -X POST \
     -H "x-api-key: YOUR_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{"job_id": "e6d7f3c0-9c9f-4b8a-b7c3-f0e3c9f6b9d7"}' \
    https://api.revidapi.com/paid/get/job/status

4. Phản hồi

Phản hồi thành công

Phản hồi thành công sẽ chứa trực tiếp nội dung tệp trạng thái công việc, như được hiển thị trong ví dụ phản hồi từ app.py:

{
    "endpoint": "/v1/toolkit/job/status",
    "code": 200,
    "id": null,
    "job_id": "e6d7f3c0-9c9f-4b8a-b7c3-f0e3c9f6b9d7",
    "response": {
        "job_status": "done",
        "job_id": "e6d7f3c0-9c9f-4b8a-b7c3-f0e3c9f6b9d7",
        "queue_id": 140368864456064,
        "process_id": 123456,
        "response": {
            "endpoint": "/v1/media/transcribe",
            "code": 200,
            "id": "transcribe_job_123",
            "job_id": "e6d7f3c0-9c9f-4b8a-b7c3-f0e3c9f6b9d7",
            "response": "Transcription completed successfully.",
            "message": "success",
            "pid": 123456,
            "queue_id": 140368864456064,
            "run_time": 5.234,
            "queue_time": 1.123,
            "total_time": 6.357,
            "queue_length": 0,
            "build_number": "1.0.0"
        }
    },
    "message": "success",
    "pid": 123456,
    "queue_id": 140368864456064,
    "run_time": 0.001,
    "queue_time": 0.0,
    "total_time": 0.001,
    "queue_length": 0,
    "build_number": "1.0.0"
}

Phản hồi lỗi

  • 404 Not Found: Nếu không tìm thấy công việc với job_id được cung cấp, phản hồi sẽ là:
{
    "error": "Job not found",
    "job_id": "e6d7f3c0-9c9f-4b8a-b7c3-f0e3c9f6b9d7"
}
  • 500 Internal Server Error: Nếu có lỗi không mong muốn xảy ra khi lấy trạng thái công việc, phản hồi sẽ là:
{
    "error": "Failed to retrieve job status: <error_message>",
    "code": 500
}

5. Xử lý lỗi

  • Thiếu hoặc tham số không hợp lệ: Nếu tham số job_id bị thiếu hoặc không hợp lệ, yêu cầu sẽ bị từ chối với lỗi 400 Bad Request.
  • Không tìm thấy công việc: Nếu không tìm thấy công việc với job_id được cung cấp, lỗi 404 Not Found sẽ được trả về.
  • Lỗi không mong muốn: Bất kỳ lỗi không mong muốn nào xảy ra trong quá trình lấy trạng thái công việc sẽ dẫn đến phản hồi 500 Internal Server Error.

Ngữ cảnh ứng dụng chính (app.py) bao gồm xử lý lỗi cho các tình huống tràn hàng đợi, nơi lỗi 429 Too Many Requests được trả về nếu đạt đến độ dài hàng đợi tối đa.

6. Ghi chú sử dụng

  • Đảm bảo bạn có API key hợp lệ để xác thực.
  • Tham số job_id phải là chuỗi UUID hợp lệ đại diện cho một công việc hiện có.
  • Endpoint này không thực hiện bất kỳ xử lý phương tiện nào; nó chỉ lấy trạng thái của một công việc đã được gửi trước đó.

7. Vấn đề thường gặp

  • Cung cấp job_id không hợp lệ hoặc không tồn tại.
  • Cố gắng lấy trạng thái của một công việc đã được xử lý và đã bị xóa khỏi hệ thống.

8. Thực hành tốt nhất

  • Sử dụng endpoint này để giám sát tiến trình của các công việc chạy lâu hoặc kiểm tra trạng thái của các công việc đã hoàn thành.
  • Triển khai xử lý lỗi phù hợp trong ứng dụng máy khách của bạn để xử lý các kịch bản lỗi khác nhau, chẳng hạn như không tìm thấy công việc hoặc lỗi không mong muốn.
  • Cân nhắc giới hạn tốc độ hoặc triển khai hệ thống hàng đợi ở phía máy khách để tránh làm quá tải API với quá nhiều yêu cầu.