Uploaded image for project: 'Okapi'
  1. Okapi
  2. OKAPI-969

API for Okapi timer task management

    XMLWordPrintable

    Details

    • Template:
    • Sprint:
      CP: sprint 110, CP: sprint 111
    • Story Points:
      5
    • Development Team:
      Core: Platform

      Description

      Currently, the only way to "disable" an Okapi timer task or to change its run interval is to POST a modified module descriptor for the affected module with an updated _timer interface, POST a deployment descriptor to route the requests to the right module instance, and enable the modified module for the tenant (with ?invoke=false to avoid calling the _tenant interface). This is a little bit error-prone, and makes upgrades tricky, as well. It would be very convenient to have an API for managing tasks that are registered via the Okapi _timer system interface.

      The API would probably need to define a new descriptor (a "timer descriptor"), and might be defined thus:

      GET /_/proxy/tenants/{tenantId}/timers: get a list of all registered timer descriptors for the tenant
      GET /_/proxy/tenants/{tenantId}/timers/{id}: get a registered timer descriptor
      PUT /_/proxy/tenants/{tenantId}/timers/{id}: put an updated timer descriptor

      One of the fields in the timer descriptor might be something like status with an enum of ["enabled","disabled"] to allow for temporarily disabling a timer.

      I leave it up for discussion if the API should allow POST and DELETE. Also up for discussion is what should happen on module upgrade.

        TestRail: Results

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                adam Adam Dickmeiss
                Reporter:
                wayne Wayne Schneider
                Votes:
                3 Vote for this issue
                Watchers:
                7 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    TestRail: Runs

                      TestRail: Cases