MCPcopy Create free account
hub / github.com/apache/cloudberry / GetTaskFeedback

Function GetTaskFeedback

src/backend/task/pg_cron.c:1555–1649  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1553}
1554
1555static void
1556GetTaskFeedback(PGresult *result, CronTask *task)
1557{
1558
1559 TimestampTz end_time;
1560 ExecStatusType executionStatus;
1561
1562 end_time = GetCurrentTimestamp();
1563 executionStatus = PQresultStatus(result);
1564
1565 switch (executionStatus)
1566 {
1567 case PGRES_COMMAND_OK:
1568 {
1569 char *cmdStatus = PQcmdStatus(result);
1570 char *cmdTuples = PQcmdTuples(result);
1571
1572 if (task_log_run)
1573 UpdateJobRunDetail(task->runId, NULL, GetCronStatus(CRON_STATUS_SUCCEEDED), cmdStatus, NULL, &end_time);
1574
1575 if (task_log_statement)
1576 {
1577 ereport(LOG, (errmsg("cron job " INT64_FORMAT " COMMAND completed: %s %s",
1578 task->jobId, cmdStatus, cmdTuples)));
1579 }
1580
1581 break;
1582 }
1583
1584 case PGRES_BAD_RESPONSE:
1585 case PGRES_FATAL_ERROR:
1586 {
1587 task->errorMessage = strdup(PQresultErrorMessage(result));
1588 task->freeErrorMessage = true;
1589 task->pollingStatus = 0;
1590 task->state = CRON_TASK_ERROR;
1591
1592 if (task_log_run)
1593 UpdateJobRunDetail(task->runId, NULL, GetCronStatus(CRON_STATUS_FAILED), task->errorMessage, NULL, &end_time);
1594
1595 PQclear(result);
1596
1597 return;
1598 }
1599
1600 case PGRES_COPY_IN:
1601 case PGRES_COPY_OUT:
1602 case PGRES_COPY_BOTH:
1603 {
1604 /* cannot handle COPY input/output */
1605 task->errorMessage = "COPY not supported";
1606 task->pollingStatus = 0;
1607 task->state = CRON_TASK_ERROR;
1608
1609 if (task_log_run)
1610 UpdateJobRunDetail(task->runId, NULL, GetCronStatus(CRON_STATUS_FAILED), task->errorMessage, NULL, &end_time);
1611
1612 PQclear(result);

Callers 1

ManageCronTaskFunction · 0.85

Calls 11

GetCurrentTimestampFunction · 0.85
PQresultStatusFunction · 0.85
PQcmdStatusFunction · 0.85
PQcmdTuplesFunction · 0.85
UpdateJobRunDetailFunction · 0.85
GetCronStatusFunction · 0.85
PQresultErrorMessageFunction · 0.85
PQclearFunction · 0.85
PQntuplesFunction · 0.85
pg_lltoaFunction · 0.85
errmsgFunction · 0.50

Tested by

no test coverage detected