Implement Manager with API for Conversion Jobs

Created by: ghost

Job Issuer (Manager) using RQ.

General:

Support for callbacks from web:

  • token auth for requester/JWT?
  • GET request for available conversion formats
  • POST for new conversion job
    • accepts callback of arbitrary url (string)
    • accepts conversion formats
    • boundaries
  • on status change from worker, use callback to signal change of status
  • status query service
    • <manager_host>/api/conversion_result/<job_id>/ (only get)
    • payload:
      • status of respective job
      • if error status, error message
      • if success status, file retrieval
      • deletion URL (see 'file delivery service' below)
      • (no extra payload if status 'aborted')
      • if 'in progress' status: optional progress information (step x of y)
  • file delivery service
    • <manager_host>/api/gis_format/<job_id>/result_file/ (GET)
    • <manager_host>/api/gis_format/<job_id>/result_file/ (DELETE)
  • common data only container with worker

Removal of files:

  • deleting files is handled through calling DELETE (http-verb) on <manager_host>/api/job/<job_id>/file
  • if limit of x files (e.g. 100) has been reached, the oldest are deleted (never keep more than x files)