Uploaded image for project: 'Bloomreach Forge'
  1. Bloomreach Forge
  2. FORGE-141

[Content-EXIM] Capability to show the execution progress and status of Export/Import REST Services

    XMLWordPrintable

Details

    Description

      It would be great if there's a way to check the progress and status of content export/import rest service invocations.

      One simplistic idea:

      • In addition to /cms/ws/exim/export and /cms/ws/exim/import, we can expose one more endpoint: /cms/ws/exim/ps.
      • /cms/ws/exim/ps can give a result in `ps`-like format to list all the running tasks like the following:
        $ curl -u admin:admin http://localhost:8080/cms/ws/exim/ps
        UID           PID  TTY             STIME     TIME        %PRGR     CMD
        admin         1    111.111.111.111 19:58:01  00:00:02    0.89      POST /cms/ws/exim/export/
        admin         2    111.111.111.112 19:58:02  00:00:01    0.60      POST /cms/ws/exim/import/?tag=importing_docs
        admin         3    111.111.111.113 19:58:03  00:00:00    0.30      POST /cms/ws/exim/export/?tag=exporting_bins_by_content_team
        

        , where UID means the user ID, PID means the internal job process ID, TTY means the client ip address practically, STIME for start time, TIME for elapsed time, %PRGR means progress per cent, CMD means HTTP method name + request URI. So, users may add any query string just for tagging purpose.

      • Detail endpoint for a process like /cms/ws/exim/ps/1 would print out the summary, including all the request params for instance, for the process #1.
      • Detail endpoint for a process like /cms/ws/exim/ps/1/logs would print out the logs.

      Attachments

        Issue Links

          Activity

            People

              wko Woonsan Ko (Inactive)
              wko Woonsan Ko (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: