/tasktiger-admin

Admin interface for TaskTiger

Primary LanguagePython

tasktiger-admin

https://circleci.com/gh/closeio/tasktiger-admin.svg?style=svg

tasktiger-admin is an admin interface for TaskTiger using flask-admin. It comes with an overview page that shows the amount of tasks in each queue for each state (queued, active, scheduled, error). It lets you inspect queues and individual tasks, as well as delete and retry tasks that errored out.

(Interested in working on projects like this? Close is looking for great engineers to join our team)

Quick start

% tasktiger-admin

This will listen on the default port (5000) and connect to the default Redis instance. Additional settings are available (see --help switch for details).

For a more advanced integration, tasktiger-admin can be integrated in a Flask app with an existing flask-admin by using the provided view in tasktiger_admin.views.TaskTigerView.

Integration Links

The TaskTigerView class takes an optional integration_config parameter that can be used to render integration links on the admin Task Detail page. These can be used to easily navigate to external resources like logging infrastructure or a Wiki. integration_config should be a list of tuples that specify the integration name and URL template.

The URL template supports four variables:

  • task_id: Current task id
  • queue: Task queue name
  • execution_start: Execution start time minus a 10 second buffer
  • execution_failed: Execution failed time plus a 10 second buffer

Example integration config that points to a logging website.

integration_config = [('Logs', 'https://logs.example.com/search/?'
                               'task_id={{ task_id }}&'
                               'start_time={{ execution_start }}&'
                               'end_time={{ execution_failed }}')]