PHPackages                             timurikvx/rac-worker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. timurikvx/rac-worker

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

timurikvx/rac-worker
====================

Библиотека обертка для работы с компонентой RAS/RAC для 1С:Предприятия 8

v1.0.2(9mo ago)8181MITPHPPHP &gt;=8.0

Since Jul 21Pushed 9mo ago1 watchersCompare

[ Source](https://github.com/timurikvx/rac-worker)[ Packagist](https://packagist.org/packages/timurikvx/rac-worker)[ RSS](/packages/timurikvx-rac-worker/feed)WikiDiscussions main Synced today

READMEChangelog (3)Dependencies (1)Versions (5)Used By (0)

RAC - WORKER
============

[](#rac---worker)

Библиотека обертка для работы с компонентами RAS/RAC для платформы 1С Предприятие 8

С помощью нее можно взаимодействовать с:

- Администраторами
- Кластерами
- Рабочими серверами кластера
- Рабочими процессами кластера
- Соединениями
- Сеансами

Установка
---------

[](#установка)

Для установки используйте команду

`composer require timurikvx/rac-worker`

Использование
-------------

[](#использование)

### Для авторизации при работе с RAC используются классы

[](#для-авторизации-при-работе-с-rac-используются-классы)

#### Администратор сервера

[](#администратор-сервера)

```
$clusterAgent = new ClusterAgent('name', 'password');
```

#### Администатор кластера

[](#администатор-кластера)

```
$clusterUser = new ClusterUser('name', 'password');
```

#### Администатор базы данных

[](#администатор-базы-данных)

```
$infobaseUser = new InfobaseUser('name', 'password');
```

Основной класс RacWorker
------------------------

[](#основной-класс-racworker)

```
$version = '8.3.23.2137'; //Версия 1С платформы
$worker = new RacWorker($version, 'localhost', 1545, RacArchitecture::X86_64);
```

#### Архитектура приложения может быть

[](#архитектура-приложения-может-быть)

```
RacArchitecture::X86_64
RacArchitecture::X64
```

Работа с администраторами сервера
---------------------------------

[](#работа-с-администраторами-сервера)

### Список администраторов

[](#список-администраторов)

```
$error = '';
$agents = $worker->agent->list($clusterAgent, $error); //array
```

### Добавление администратора

[](#добавление-администратора)

```
$error = '';
$agent = AgentEntity::create('Timmy', 'при оываыва ываываыв аыва');
$agent->setPassword('password');
$agent->setOsAuth('\\\\MACHINE\\UserName');
$worker->agent->add($agent, $clusterAgent, $error);
```

где `$clusterAgent` - уже существующий администратор, если он есть

### Удаление администратора

[](#удаление-администратора)

```
$error = '';
$worker->agent->remove($agent, $clusterAgent, $error);
```

Работа с Кластерами
-------------------

[](#работа-с-кластерами)

### Список кластеров

[](#список-кластеров)

```
$clusters = $worker->cluster->list(); //array
```

### Получить первый кластер

[](#получить-первый-кластер)

```
$cluster = $worker->cluster->first(); //ClusterEntity::class|null
```

### Получение кластера по имени

[](#получение-кластера-по-имени)

```
$cluster = $worker->cluster->getByName('Локальный кластер'); //ClusterEntity::class|null
```

### Установка администоратора кластера

[](#установка-администоратора-кластера)

Если у вас уставнолен пароль на кластер или указаны основные администраторы нужно указат их, если у вас нет администраторов этот пункт можно пропустить или любой из методов

```
$cluster->setUser($clusterUser); //администратор кластера
$cluster->setAgent($clusterAgent); //основной администратор
```

После этого у вас есть доступ к базам данных и кластерам

### Создание кластера

[](#создание-кластера)

```
$error = '';
$newCluster = ClusterEntity::create('localhost', 1800); //host, port
$newCluster->setName('Имя кластера');
$worker->cluster->add($newCluster, $error); //bool
```

### Изменение кластера

[](#изменение-кластера)

```
$error = '';
$cluster->setLifetimeLimit(220);
$cluster->setMaxMemorySize(4123);
$cluster->setMaxMemoryTimeLimit(640);
$cluster->setSecurityLevel(300);
$cluster->setSessionFaultToleranceLevel(143);
$worker->cluster->update($cluster, $error); //bool
```

### Удаление кластера

[](#удаление-кластера)

```
$error = '';
$worker->cluster->remove($cluster, $error); //bool
```

Работа с администратором кластера
---------------------------------

[](#работа-с-администратором-кластера)

Это администраторы относящиеся к тому кластеру в который они добавлены, а основные администраторы защищают все кластера

### Список администраторов кластера

[](#список-администраторов-кластера)

```
$error = '';
$list = $worker->cluster->adminList($cluster, $error); //array
```

### Добавление администратора кластера

[](#добавление-администратора-кластера)

```
$error = '';
$admin = ClusterAdminEntity::create('Имя администратора', 'Описание');
$admin->setPassword('пароль');
$admin->setOsAuth('имя пользователя ОС'); // для примера \\COMP\User1
$worker->cluster->adminAdd($cluster, $admin, $error);
```

где `setOsAuth` - установка авторизации ОС, в этом случае пароль передавать на нужно

### Удаление администратора кластера

[](#удаление-администратора-кластера)

```
$error = '';
$worker->cluster->adminRemove($cluster, $admin, $error);
```

где `$admin` - сущность ClusterAdminEntity::class

Работа с Базами данных
----------------------

[](#работа-с-базами-данных)

### Список баз данных кластера

[](#список-баз-данных-кластера)

```
$error = '';
$infobases = $worker->infobase->list($cluster, $error); //array
```

`$error` - выходной параметр если возникнет ошибка

### Базу данных по имени

[](#базу-данных-по-имени)

```
$error = '';
$infobase = $worker->infobase->getByName('Имя базы данных', $cluster, $error); //InfobaseShortEntity::class|null
```

### Первая база данных

[](#первая-база-данных)

```
$error = '';
$infobase = $worker->infobase->first($cluster, $error); //InfobaseShortEntity::class|null
```

### Расширенная информация о базе данных

[](#расширенная-информация-о-базе-данных)

```
$error = '';
$infobase = $worker->infobase->info($cluster, $infobase, $error); //InfobaseEntity::class|null
```

*После получения полного описания заново утсановите пользователя базы данных если будете с ней работать*

```
$infobase->setUser($infobaseUser);
```

### Изменение базы данных

[](#изменение-базы-данных)

```
$infobase->setDeniedFrom(''); //Начало блокировки сеансов \DateTime
$infobase->setDeniedTo(''); //Завершение блокировки сеансов \DateTime
$infobase->setDescription('Описание базы'); //Изменить описание базы
$infobase->setScheduledJobsDeny(true); //Блокировка регламетных заданий
$infobase->setSessionsDeny(true); //Блокировка сеанса
$infobase->setDeniedMessage('message');//Собщение пользователю
$infobase->setDeniedParameter(''); //Параметр блокировки
$worker->infobase->update($cluster, $infobase, $error); //bool
```

Рабочие серверы кластера
------------------------

[](#рабочие-серверы-кластера)

### Список серверов кластера

[](#список-серверов-кластера)

```
$error = '';
$servers = $worker->server->list($cluster, $error); //array
```

### Сервер по имени

[](#сервер-по-имени)

```
$error = '';
$infobase = $worker->server->getByName("Имя сервера", $cluster, $error); //ServerEntity::class|null
```

### Первый сервер

[](#первый-сервер)

```
$error = '';
$infobase = $worker->server->first($cluster, $error); //ServerEntity::class|null
```

### Добавление сервера

[](#добавление-сервера)

```
$error = '';
$server = ServerEntity::create('Имя сервера', 'localhost', 1600);
$server->setInfobasesLimit(16);
$server->setPortMin(1600);
$server->setPortMax(1700);
$worker->server->add($cluster, $server, $error);
```

### Изменение сервера

[](#изменение-сервера)

```
$error = '';
$server->setConnectionsLimit(998000);
$server->setInfobasesLimit(15000);
$server->setSafeCallMemoryLimit(7770000);
$server->setCriticalTotalMemory(450000);
$server->setCriticalTotalMemory(888000);
$server->setTemporaryAllowedTotalMemory(999000);
$server->setTemporaryAllowedTotalMemoryTimeLimit(300000);
$worker->server->update($cluster, $server, $error);
```

---

*Будьте аккуратны при изменении параметров сервера - это может привести к его неработоспособности!*

---

### Удаление сервера

[](#удаление-сервера)

```
$error = '';
$worker->server->remove($cluster, $server, $error);
```

Управление рабочими процессами кластера
---------------------------------------

[](#управление-рабочими-процессами-кластера)

### Список процессов

[](#список-процессов)

```
$error = '';
$processes = $worker->process->list($cluster, $server, $error); //array
```

Соединения с кластером
----------------------

[](#соединения-с-кластером)

### Список соединений

[](#список-соединений)

```
$error = '';
$connections = $worker->connection->list($cluster, $process, $infobase, $error); //array
```

### Список соединений по типу приложения

[](#список-соединений-по-типу-приложения)

```
$error = '';
$connections = $worker->connection->getByAppID('1CV8', $cluster, $process, $infobase, $error); //array
```

### Список соединений по имени компьютера

[](#список-соединений-по-имени-компьютера)

```
$error = '';
$connections = $worker->connection->getByHost('Имя компьютера', $cluster, $process, $infobase, $error); //array
```

### Список соединений по пользователю

[](#список-соединений-по-пользователю)

```
$error = '';
$connections = $worker->connection->getByUser('Имя пользователя', $cluster, $process, $infobase, $error); //array
```

### Удаление соединений

[](#удаление-соединений)

```
$error = '';
foreach ($list as $connection) {
    $connection->remove($error);
    //или
    $worker->connection->remove($cluster, $process, $connection, $infobase->getInfobaseUser(), $error);
}
```

Сеансы баз данных
-----------------

[](#сеансы-баз-данных)

### Полный список сеансов

[](#полный-список-сеансов)

```
$error = '';
$sessions = $worker->session->list($cluster, $infobase, $error); //array
```

### Сеансы по имени пользователя

[](#сеансы-по-имени-пользователя)

```
$error = '';
$sessions = $worker->infobase->getByUser("Имя сервера", $cluster, $error); //array
```

### Сеансы по имени хоста

[](#сеансы-по-имени-хоста)

```
$error = '';
$sessions = $worker->infobase->getByHost("Имя сервера", $cluster, $error); //array
```

### Сеансы по типу приложения

[](#сеансы-по-типу-приложения)

```
$error = '';
$sessions = $worker->infobase->getByAppID("Имя сервера", $cluster, $error); //array
```

### Удаление сеансов с базой данных

[](#удаление-сеансов-с-базой-данных)

```
$error = '';
foreach ($sessions as $session){
    $session->remove('Сообщение пользователя', $error);
    //или
    $worker->session->remove($cluster, $session, 'Сообщение пользователя', $error);
}
```

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance57

Moderate activity, may be stable

Popularity13

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~19 days

Total

4

Last Release

287d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/7101747?v=4)[Timur Gaifullin](/maintainers/timurikvx)[@timurikvx](https://github.com/timurikvx)

---

Top Contributors

[![timurikvx](https://avatars.githubusercontent.com/u/7101747?v=4)](https://github.com/timurikvx "timurikvx (18 commits)")

### Embed Badge

![Health badge](/badges/timurikvx-rac-worker/health.svg)

```
[![Health](https://phpackages.com/badges/timurikvx-rac-worker/health.svg)](https://phpackages.com/packages/timurikvx-rac-worker)
```

###  Alternatives

[dmishh/settings-bundle

Database centric Symfony configuration management. Global and per-user settings supported.

115257.8k1](/packages/dmishh-settings-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
