mirror of
https://github.com/supabase/supabase.git
synced 2026-10-17 07:09:07 +03:00
add cron jobs page
This commit is contained in:
1 parent
3eaae48edb
commit
2f9193c734
7 files changed
+50
No files matched your search
@@ -42,6 +42,8 @@ const LogSelection = ({ log, onClose, queryType, isLoading, error }: LogSelectio
|
||||
|
||||
case 'database':
|
||||
return <DatabasePostgresSelectionRender log={log} />
|
||||
case 'pg_cron':
|
||||
return <DatabasePostgresSelectionRender log={log} />
|
||||
|
||||
case 'fn_edge':
|
||||
return <FunctionInvocationSelectionRender log={log} />
|
||||
|
||||
@@ -173,6 +173,9 @@ const LogTable = ({
|
||||
case 'auth':
|
||||
columns = AuthColumnRenderer
|
||||
break
|
||||
case 'pg_cron':
|
||||
columns = DatabasePostgresColumnRender
|
||||
break
|
||||
|
||||
default:
|
||||
if (firstRow && isDefaultLogPreviewFormat(firstRow)) {
|
||||
|
||||
@@ -363,6 +363,7 @@ export enum LogsTableName {
|
||||
POSTGREST = 'postgrest_logs',
|
||||
SUPAVISOR = 'supavisor_logs',
|
||||
WAREHOUSE = 'warehouse_logs',
|
||||
PG_CRON = 'pg_cron',
|
||||
}
|
||||
|
||||
export const LOGS_TABLES = {
|
||||
@@ -376,6 +377,7 @@ export const LOGS_TABLES = {
|
||||
postgrest: LogsTableName.POSTGREST,
|
||||
supavisor: LogsTableName.SUPAVISOR,
|
||||
warehouse: LogsTableName.WAREHOUSE,
|
||||
pg_cron: LogsTableName.POSTGRES,
|
||||
}
|
||||
|
||||
export const LOGS_SOURCE_DESCRIPTION = {
|
||||
@@ -389,6 +391,7 @@ export const LOGS_SOURCE_DESCRIPTION = {
|
||||
[LogsTableName.POSTGREST]: 'RESTful API web server logs',
|
||||
[LogsTableName.SUPAVISOR]: 'Cloud-native Postgres connection pooler logs',
|
||||
[LogsTableName.WAREHOUSE]: 'Logs obtained from a data warehouse collection',
|
||||
[LogsTableName.PG_CRON]: 'Logs obtained from pg_cron',
|
||||
}
|
||||
|
||||
export const genQueryParams = (params: { [k: string]: string }) => {
|
||||
|
||||
@@ -88,6 +88,7 @@ export type QueryType =
|
||||
| 'supavisor'
|
||||
| 'postgrest'
|
||||
| 'warehouse'
|
||||
| 'pg_cron'
|
||||
|
||||
export type Mode = 'simple' | 'custom'
|
||||
|
||||
|
||||
@@ -211,6 +211,17 @@ limit ${limit}
|
||||
${orderBy}
|
||||
limit ${limit}
|
||||
`
|
||||
|
||||
case 'pg_cron':
|
||||
return `select identifier, postgres_logs.timestamp, id, event_message, parsed.error_severity
|
||||
from postgres_logs
|
||||
cross join unnest(metadata) as m
|
||||
cross join unnest(m.parsed) as parsed
|
||||
where parsed.application_name = 'pg_cron'
|
||||
${where}
|
||||
${orderBy}
|
||||
limit ${limit}
|
||||
`
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -164,6 +164,12 @@ export function LogsSidebarMenuV2() {
|
||||
url: `/project/${ref}/logs/edge-functions-logs`,
|
||||
items: [],
|
||||
},
|
||||
{
|
||||
name: 'Cron Jobs',
|
||||
key: 'pg_cron',
|
||||
url: `/project/${ref}/logs/pgcron-logs`,
|
||||
items: [],
|
||||
},
|
||||
]
|
||||
|
||||
const filteredLogs = BASE_COLLECTIONS.filter((collection) => {
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
import { useRouter } from 'next/router'
|
||||
|
||||
import { LogsTableName } from 'components/interfaces/Settings/Logs/Logs.constants'
|
||||
import LogsPreviewer from 'components/interfaces/Settings/Logs/LogsPreviewer'
|
||||
import LogsLayout from 'components/layouts/LogsLayout/LogsLayout'
|
||||
import type { NextPageWithLayout } from 'types'
|
||||
|
||||
export const LogPage: NextPageWithLayout = () => {
|
||||
const router = useRouter()
|
||||
const { ref } = router.query
|
||||
|
||||
return (
|
||||
<LogsPreviewer
|
||||
condensedLayout
|
||||
queryType="pg_cron"
|
||||
projectRef={ref as string}
|
||||
tableName={LogsTableName.PG_CRON}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
LogPage.getLayout = (page) => <LogsLayout title="PgCron Logs">{page}</LogsLayout>
|
||||
|
||||
export default LogPage
|
||||
Reference in new issue
Block a user