fix(stream): adjust schedule interval.
This commit is contained in:
parent
cea647daf6
commit
b715df1ac4
|
@ -192,6 +192,7 @@ static int32_t doCreateForceWindowTrigger(SStreamTask* pTask, int32_t* pNextTrig
|
||||||
const char* id = pTask->id.idStr;
|
const char* id = pTask->id.idStr;
|
||||||
int8_t precision = pTask->info.interval.precision;
|
int8_t precision = pTask->info.interval.precision;
|
||||||
SStreamTrigger* pTrigger = NULL;
|
SStreamTrigger* pTrigger = NULL;
|
||||||
|
bool isFull = false;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
code = streamCreateForcewindowTrigger(&pTrigger, pTask->info.delaySchedParam, &pTask->info.interval,
|
code = streamCreateForcewindowTrigger(&pTrigger, pTask->info.delaySchedParam, &pTask->info.interval,
|
||||||
|
@ -225,13 +226,15 @@ static int32_t doCreateForceWindowTrigger(SStreamTask* pTask, int32_t* pNextTrig
|
||||||
}
|
}
|
||||||
|
|
||||||
pTask->status.latestForceWindow = w;
|
pTask->status.latestForceWindow = w;
|
||||||
if ((w.ekey + pTask->info.watermark + pTask->info.interval.interval > now) ||
|
isFull = streamQueueIsFull(pTask->inputq.queue);
|
||||||
streamQueueIsFull(pTask->inputq.queue)) {
|
|
||||||
|
if ((w.ekey + pTask->info.watermark + pTask->info.interval.interval > now) || isFull) {
|
||||||
int64_t prev = convertTimePrecision(*pNextTrigger, precision, TSDB_TIME_PRECISION_MILLI);
|
int64_t prev = convertTimePrecision(*pNextTrigger, precision, TSDB_TIME_PRECISION_MILLI);
|
||||||
|
if (!isFull) {
|
||||||
|
*pNextTrigger = w.ekey + pTask->info.watermark + pTask->info.interval.interval - now;
|
||||||
|
}
|
||||||
|
|
||||||
*pNextTrigger = w.ekey + pTask->info.watermark + pTask->info.interval.interval - now;
|
|
||||||
*pNextTrigger = convertTimePrecision(*pNextTrigger, precision, TSDB_TIME_PRECISION_MILLI);
|
*pNextTrigger = convertTimePrecision(*pNextTrigger, precision, TSDB_TIME_PRECISION_MILLI);
|
||||||
|
|
||||||
pTask->chkInfo.nextProcessVer = w.ekey + pTask->info.interval.interval;
|
pTask->chkInfo.nextProcessVer = w.ekey + pTask->info.interval.interval;
|
||||||
stDebug("s-task:%s generate %d time window(s), trigger delay adjust from %" PRId64 " to %d, set ver:%" PRId64, id,
|
stDebug("s-task:%s generate %d time window(s), trigger delay adjust from %" PRId64 " to %d, set ver:%" PRId64, id,
|
||||||
num, prev, *pNextTrigger, pTask->chkInfo.nextProcessVer);
|
num, prev, *pNextTrigger, pTask->chkInfo.nextProcessVer);
|
||||||
|
|
Loading…
Reference in New Issue