3namespace Bitrix\Bizproc\Script\Entity;
5use Bitrix\Bizproc\Script\Queue\Status;
7use Bitrix\Main\ORM\Fields\ExpressionField;
32 return 'b_bp_script_queue';
42 'data_type' =>
'integer',
44 'autocomplete' =>
true,
47 'data_type' =>
'integer'
50 'data_type' =>
'datetime'
53 'data_type' =>
'integer'
56 'data_type' => Main\UserTable::class,
58 '=this.STARTED_BY' =>
'ref.ID'
60 'join_type' =>
'LEFT',
63 'data_type' =>
'integer'
66 'data_type' =>
'datetime'
69 'data_type' =>
'integer',
85 ScriptQueueDocumentTable::query()
88 ->where(
'QUEUE_ID', $queueId)
96 foreach ($scriptQueueRows as $scriptGroupByStatus)
98 $all += (int)$scriptGroupByStatus[
'CNT'];
99 if ((
int)$scriptGroupByStatus[
'STATUS'] === Status::QUEUED)
101 $queued = (int)$scriptGroupByStatus[
'CNT'];
108 'completed' => $all - $queued
114 $document = ScriptQueueDocumentTable::getList([
116 '=QUEUE_ID' => $queueId,
117 '=STATUS' => Status::QUEUED,
119 'order' => [
'ID' =>
'ASC'],
131 'STATUS' => Status::TERMINATED,
136 $docResult = ScriptQueueDocumentTable::getList([
138 '=QUEUE_ID' => $queueId,
139 '=STATUS' => Status::QUEUED,
144 $docIds = array_column($docResult->fetchAll(),
'ID');
146 ScriptQueueDocumentTable::updateMulti($docIds, [
'STATUS' => Status::TERMINATED],
true);
151 static::update($queueId, [
'STATUS' => Status::EXECUTING]);
156 static::update($queueId, [
'STATUS' => Status::COMPLETED]);
161 $result = static::getList([
'filter' => [
'=SCRIPT_ID' => $scriptId],
'select' => [
'ID']]);
165 static::delete($row[
'ID']);
177 if(!isset(
$fields[
'MODIFIED_BY']))
179 $modifyFields[
'MODIFIED_BY'] = 0;
182 $result->modifyFields($modifyFields);
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
static deleteByQueue(int $queueId)
static markCompleted(int $queueId)
static getDocumentCounters(int $queueId)
static deleteByScript(int $scriptId)
static onBeforeUpdate(Main\ORM\Event $event)
static getNextQueuedDocument(int $queueId)
static markTerminated(int $queueId, int $userId)
static markExecuting(int $queueId)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)