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;
}