mirror of
https://github.com/getredash/redash.git
synced 2025-12-25 01:03:20 -05:00
* enforce hard limits on non-responsive work horses by workers
* move differences from Worker to helper methods to help make the specialization clearer
* move HardLimitingWorker to redash/tasks
* move schedule.py to /tasks
* explain the motivation for HardLimitingWorker
* pleasing CodeClimate
* pleasing CodeClimate
* port query execution to RQ
* get rid of argsrepr
* avoid star imports
* allow queries to be cancelled in RQ
* return QueryExecutionErrors as job results
* fix TestTaskEnqueue and QueryExecutorTests
* remove Celery monitoring
* get rid of QueryTask and use RQ jobs directly (with a job serializer)
* Revert "remove Celery monitoring"
This reverts commit 37a74ea403.
* reduce occurences of the word 'task'
* use Worker, Queue and Job instead of spreading names that share behavior details
* remove locks for failed jobs as well
* did I not commit that colon? oh my
* push the redis connection to RQ's stack on every request to avoid verbose connection setting
* use a connection context for tests
* remove Celery monitoring
* 👋 Celery
* remove Celery from Cypress
* black it up
* some more black
* return all started/queued job ids (for future monitoring
* Restyled by prettier (#4522)
* remove celery.py
* remove some frontend residuals that reappeared after a merge
Co-authored-by: restyled-io[bot] <32688539+restyled-io[bot]@users.noreply.github.com>
39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
import React from "react";
|
|
import PropTypes from "prop-types";
|
|
import Tabs from "antd/lib/tabs";
|
|
import PageHeader from "@/components/PageHeader";
|
|
|
|
import "./layout.less";
|
|
|
|
export default function Layout({ activeTab, children }) {
|
|
return (
|
|
<div className="container admin-page-layout">
|
|
<PageHeader title="Admin" />
|
|
|
|
<div className="bg-white tiled">
|
|
<Tabs className="admin-page-layout-tabs" defaultActiveKey={activeTab} animated={false}>
|
|
<Tabs.TabPane key="system_status" tab={<a href="admin/status">System Status</a>}>
|
|
{activeTab === "system_status" ? children : null}
|
|
</Tabs.TabPane>
|
|
<Tabs.TabPane key="jobs" tab={<a href="admin/queries/jobs">RQ Status</a>}>
|
|
{activeTab === "jobs" ? children : null}
|
|
</Tabs.TabPane>
|
|
<Tabs.TabPane key="outdated_queries" tab={<a href="admin/queries/outdated">Outdated Queries</a>}>
|
|
{activeTab === "outdated_queries" ? children : null}
|
|
</Tabs.TabPane>
|
|
</Tabs>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
Layout.propTypes = {
|
|
activeTab: PropTypes.string,
|
|
children: PropTypes.node,
|
|
};
|
|
|
|
Layout.defaultProps = {
|
|
activeTab: "system_status",
|
|
children: null,
|
|
};
|