ProcessManager

static class · пространство имён z3n7.DbUtils · исходник DbUtils/ProcessManager.cs

public static class ProcessManager

Поддерживает актуальность таблицы _processes по процессам ZennoPoster и zbe1 этой машины.

Методы

CollectAndSave

public static void CollectAndSave(this IZennoPosterProjectModel project, bool log = false)

Метод расширения для IZennoPosterProjectModel. исходник

Записывает по строке на каждый работающий процесс ZennoPoster и zbe1 этой машины (id {pid}|{machine}, имя, RAM в МБ, время работы в минутах, командная строка, время) и удаляет строки этой машины для процессов, которые уже не работают. Синтаксис upsert PostgreSQL используется, если dbSource — строка подключения PostgreSQL (то же правило, что у DbQ); иначе INSERT OR REPLACE из SQLite.

Параметр Описание
log Писать запросы в лог.

EnsureProcessTable

public static void EnsureProcessTable(this IZennoPosterProjectModel project, bool log = false)

Метод расширения для IZennoPosterProjectModel. исходник

Создаёт таблицу _processes, если её нет.

Параметр Описание
log Не используется.

GetAllMachines

public static List<string> GetAllMachines(this IZennoPosterProjectModel project, bool log = false)

Метод расширения для IZennoPosterProjectModel. исходник

Уникальные имена машин из таблицы _processes.

Параметр Описание
log Писать запросы в лог.

KillByUptime

public static void KillByUptime(this IZennoPosterProjectModel project, int maxUptimeMinutes, bool log = false)

Метод расширения для IZennoPosterProjectModel. исходник

Убивает процессы zbe1, работающие дольше maxUptimeMinutes, и, если кого-то убил, обновляет таблицу.

Параметр Описание
maxUptimeMinutes Предел времени работы, минуты.
log Писать в лог каждое убийство процесса.

ZennoProcesses

public static List<string[]> ZennoProcesses()

исходник

Работающие процессы ZennoPoster и zbe1 этой машины.

Возвращает: Элементы [name, ramMb, uptimeMinutes, pid].