JobManager
==========

.. _Job: 

Job
---

Defines a Job used in JobManager for client-server communication

Used e.g. to display progress of an action

.. code-block:: json

 message Job {
  string id = 1;
  optional string name = 2;
  optional JobStatus status = 3;
  optional uint32 progress = 4;
  optional string path = 5;
  optional JobType type = 6;
  optional string item_id = 7;
  optional string new_parent_id = 8;
  optional bool keep_rights = 9;
  optional string message = 10;
  optional string socket_id = 11;
  optional string client_session_id = 12;
  optional bool can_survive_client_disconnect = 13;
  optional bool client_request_sent = 14;
  optional string instance_id = 15;
  map<string, string> message_args = 16;
  optional string client_id = 17;
 }

+-----------------------------------+-------------------------+-----------------------------------------------+
| Field                             | Type                    | Description                                   |
+===================================+=========================+===============================================+
| ``id``                            | ``string``              |                                               |
+-----------------------------------+-------------------------+-----------------------------------------------+
| ``name``                          | ``string``              | **Optional**                                  |
+-----------------------------------+-------------------------+-----------------------------------------------+
| ``status``                        | ``JobStatus``           | **Optional** See :ref:`JobStatus <JobStatus>` |
+-----------------------------------+-------------------------+-----------------------------------------------+
| ``progress``                      | ``uint32``              | **Optional**                                  |
+-----------------------------------+-------------------------+-----------------------------------------------+
| ``path``                          | ``string``              | **Optional**                                  |
+-----------------------------------+-------------------------+-----------------------------------------------+
| ``type``                          | ``JobType``             | **Optional** See :ref:`JobType <JobType>`     |
+-----------------------------------+-------------------------+-----------------------------------------------+
| ``item_id``                       | ``string``              | **Optional**                                  |
+-----------------------------------+-------------------------+-----------------------------------------------+
| ``new_parent_id``                 | ``string``              | **Optional**                                  |
+-----------------------------------+-------------------------+-----------------------------------------------+
| ``keep_rights``                   | ``bool``                | **Optional**                                  |
+-----------------------------------+-------------------------+-----------------------------------------------+
| ``message``                       | ``string``              | **Optional**                                  |
+-----------------------------------+-------------------------+-----------------------------------------------+
| ``socket_id``                     | ``string``              | **Optional**                                  |
+-----------------------------------+-------------------------+-----------------------------------------------+
| ``client_session_id``             | ``string``              | **Optional**                                  |
+-----------------------------------+-------------------------+-----------------------------------------------+
| ``can_survive_client_disconnect`` | ``bool``                | **Optional**                                  |
+-----------------------------------+-------------------------+-----------------------------------------------+
| ``client_request_sent``           | ``bool``                | **Optional**                                  |
+-----------------------------------+-------------------------+-----------------------------------------------+
| ``instance_id``                   | ``string``              | **Optional**                                  |
+-----------------------------------+-------------------------+-----------------------------------------------+
| ``message_args``                  | ``map<string, string>`` |                                               |
+-----------------------------------+-------------------------+-----------------------------------------------+
| ``client_id``                     | ``string``              | **Optional**                                  |
+-----------------------------------+-------------------------+-----------------------------------------------+

