MCPcopy Create free account
hub / github.com/F-Stack/f-stack / sentinelPendingScriptsCommand

Function sentinelPendingScriptsCommand

app/redis-6.2.6/src/sentinel.c:975–1013  ·  view source on GitHub ↗

Implements SENTINEL PENDING-SCRIPTS command. */

Source from the content-addressed store, hash-verified

973
974/* Implements SENTINEL PENDING-SCRIPTS command. */
975void sentinelPendingScriptsCommand(client *c) {
976 listNode *ln;
977 listIter li;
978
979 addReplyArrayLen(c,listLength(sentinel.scripts_queue));
980 listRewind(sentinel.scripts_queue,&li);
981 while ((ln = listNext(&li)) != NULL) {
982 sentinelScriptJob *sj = ln->value;
983 int j = 0;
984
985 addReplyMapLen(c,5);
986
987 addReplyBulkCString(c,"argv");
988 while (sj->argv[j]) j++;
989 addReplyArrayLen(c,j);
990 j = 0;
991 while (sj->argv[j]) addReplyBulkCString(c,sj->argv[j++]);
992
993 addReplyBulkCString(c,"flags");
994 addReplyBulkCString(c,
995 (sj->flags & SENTINEL_SCRIPT_RUNNING) ? "running" : "scheduled");
996
997 addReplyBulkCString(c,"pid");
998 addReplyBulkLongLong(c,sj->pid);
999
1000 if (sj->flags & SENTINEL_SCRIPT_RUNNING) {
1001 addReplyBulkCString(c,"run-time");
1002 addReplyBulkLongLong(c,mstime() - sj->start_time);
1003 } else {
1004 mstime_t delay = sj->start_time ? (sj->start_time-mstime()) : 0;
1005 if (delay < 0) delay = 0;
1006 addReplyBulkCString(c,"run-delay");
1007 addReplyBulkLongLong(c,delay);
1008 }
1009
1010 addReplyBulkCString(c,"retry-num");
1011 addReplyBulkLongLong(c,sj->retry_num);
1012 }
1013}
1014
1015/* This function calls, if any, the client reconfiguration script with the
1016 * following parameters:

Callers 1

sentinelCommandFunction · 0.85

Calls 7

addReplyArrayLenFunction · 0.85
listRewindFunction · 0.85
listNextFunction · 0.85
addReplyMapLenFunction · 0.85
addReplyBulkCStringFunction · 0.85
addReplyBulkLongLongFunction · 0.85
mstimeFunction · 0.70

Tested by

no test coverage detected