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].