mirror of https://github.com/synctv-org/synctv
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
198 lines
5.0 KiB
JSON
198 lines
5.0 KiB
JSON
{
|
|
"db_name": "PostgreSQL",
|
|
"query": "\n WITH candidates AS (\n SELECT id\n FROM file_cleanup_jobs\n WHERE completed_at IS NULL\n AND next_attempt_at <= CURRENT_TIMESTAMP\n AND (\n locked_at IS NULL\n OR locked_at < CURRENT_TIMESTAMP - INTERVAL '15 minutes'\n )\n ORDER BY next_attempt_at ASC, id ASC\n LIMIT $1\n FOR UPDATE SKIP LOCKED\n )\n UPDATE file_cleanup_jobs j\n SET locked_at = CURRENT_TIMESTAMP,\n locked_by = $2,\n updated_at = CURRENT_TIMESTAMP\n FROM candidates c\n WHERE j.id = c.id\n RETURNING j.id, j.origin, j.storage_backend, j.object_key,\n j.reference_kind, j.reference_id, j.metadata as \"metadata: FileCleanupMetadata\", j.attempt_count,\n j.last_error, j.next_attempt_at, j.locked_at, j.locked_by,\n j.completed_at, j.created_at, j.updated_at\n ",
|
|
"describe": {
|
|
"columns": [
|
|
{
|
|
"ordinal": 0,
|
|
"name": "id",
|
|
"type_info": "Int8",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "file_cleanup_jobs",
|
|
"name": "id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 1,
|
|
"name": "origin",
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "file_cleanup_jobs",
|
|
"name": "origin"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 2,
|
|
"name": "storage_backend",
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "file_cleanup_jobs",
|
|
"name": "storage_backend"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 3,
|
|
"name": "object_key",
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "file_cleanup_jobs",
|
|
"name": "object_key"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 4,
|
|
"name": "reference_kind",
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "file_cleanup_jobs",
|
|
"name": "reference_kind"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 5,
|
|
"name": "reference_id",
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "file_cleanup_jobs",
|
|
"name": "reference_id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 6,
|
|
"name": "metadata: FileCleanupMetadata",
|
|
"type_info": "Jsonb",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "file_cleanup_jobs",
|
|
"name": "metadata"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 7,
|
|
"name": "attempt_count",
|
|
"type_info": "Int4",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "file_cleanup_jobs",
|
|
"name": "attempt_count"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 8,
|
|
"name": "last_error",
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "file_cleanup_jobs",
|
|
"name": "last_error"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 9,
|
|
"name": "next_attempt_at",
|
|
"type_info": "Timestamptz",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "file_cleanup_jobs",
|
|
"name": "next_attempt_at"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 10,
|
|
"name": "locked_at",
|
|
"type_info": "Timestamptz",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "file_cleanup_jobs",
|
|
"name": "locked_at"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 11,
|
|
"name": "locked_by",
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "file_cleanup_jobs",
|
|
"name": "locked_by"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 12,
|
|
"name": "completed_at",
|
|
"type_info": "Timestamptz",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "file_cleanup_jobs",
|
|
"name": "completed_at"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 13,
|
|
"name": "created_at",
|
|
"type_info": "Timestamptz",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "file_cleanup_jobs",
|
|
"name": "created_at"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"ordinal": 14,
|
|
"name": "updated_at",
|
|
"type_info": "Timestamptz",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "file_cleanup_jobs",
|
|
"name": "updated_at"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"parameters": {
|
|
"Left": [
|
|
"Int8",
|
|
"Text"
|
|
]
|
|
},
|
|
"nullable": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
true,
|
|
false,
|
|
true,
|
|
true,
|
|
true,
|
|
false,
|
|
false
|
|
]
|
|
},
|
|
"hash": "de0ee3d6958ff1c871e5c5506a91b7b923b64fc924929dde3e2a99d4b12a24c3"
|
|
}
|