nineinchnick\nfy\components\DbQueue::releaseTimedout PHP Метод

releaseTimedout() публичный Метод

Releases timed-out messages.
public releaseTimedout ( ) : array
Результат array of released message ids
    public function releaseTimedout()
    {
        $trx = models\DbMessage::getDb()->transaction !== null ? null : models\DbMessage::getDb()->beginTransaction();
        $primaryKey = models\DbMessage::primaryKey();
        $message_ids = models\DbMessage::find()->withQueue($this->id)->timedout($this->timeout)->select($primaryKey)->asArray()->all();
        models\DbMessage::updateAll(['status' => Message::AVAILABLE], ['in', $primaryKey, $message_ids]);
        if ($trx !== null) {
            $trx->commit();
        }
        return $message_ids;
    }