- Модуль: sender
- Путь к файлу: ~/bitrix/modules/sender/lib/posting/threadstrategy/abstractthreadstrategy.php
- Класс: Bitrix\Sender\Posting\ThreadStrategy\AbstractThreadStrategy
- Вызов: AbstractThreadStrategy::lockThread
public function lockThread(): void { if(!static::checkLock()) { return; } $thread = PostingThreadTable::getList( [ "select" => ["THREAD_ID"], "filter" => [ '=POSTING_ID' => $this->postingId, [ 'LOGIC' => 'OR', [ '=STATUS' => PostingThreadTable::STATUS_NEW, ], [ '=STATUS' => PostingThreadTable::STATUS_IN_PROGRESS, 'new DateTime() ] ] ], "limit" => 1 ] )->fetchAll(); if (!isset($thread[0]) && !isset($thread[0]["THREAD_ID"])) { return; } $this->threadId = $thread[0]["THREAD_ID"]; $this->updateStatus(PostingThreadTable::STATUS_IN_PROGRESS); $this->unlock(); }