@taskless-app/swarm 0.4.1 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -5
- package/dist/cli.js +690 -121
- package/dist/overmind.js +804 -225
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -28,12 +28,51 @@ npx @taskless-app/swarm start --repo <путь к репо> # поднят
|
|
|
28
28
|
```bash
|
|
29
29
|
npm i -g @taskless-app/swarm
|
|
30
30
|
swarm login --workspace <slug>
|
|
31
|
-
swarm start --repo <путь к репо> #
|
|
31
|
+
swarm start --repo <путь к репо> # поднять рой: уходит в фон, терминал остаётся вам
|
|
32
32
|
swarm --help # список остальных команд (spawn/ls/questions/answer/…)
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
+
**Демон открепляется от терминала.** `swarm start` не занимает окно: процесс уходит
|
|
36
|
+
в фон, а весь вывод пишется в `~/.taskless-swarm/overmind.log` — тот самый файл, из
|
|
37
|
+
которого агент читает хвост лога удалённо. Посмотреть: `swarm logs -f`. Нужен вывод
|
|
38
|
+
прямо в терминале (отладка, systemd, docker, где фоном занимается супервизор) —
|
|
39
|
+
`swarm start --foreground` (он же `-f`, `--attach`).
|
|
40
|
+
|
|
41
|
+
Команда не отчитывается о запуске раньше времени: она ждёт, пока демон реально
|
|
42
|
+
поднимется, и только тогда говорит «поднят». Не поднялся — покажет хвост лога с
|
|
43
|
+
настоящей причиной (занятый порт, отсутствующий токен) и завершится с ошибкой.
|
|
44
|
+
|
|
35
45
|
Полный гайд по настройке и запуску роя — на [taskless.ru](https://taskless.ru).
|
|
36
46
|
|
|
47
|
+
## Остановить, приостановить, отключить машину
|
|
48
|
+
|
|
49
|
+
Гасить демона по имени процесса (`pkill -f overmind`) не нужно — есть штатные команды:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
swarm status # жив ли демон, на паузе ли рой, сколько дронов в работе
|
|
53
|
+
swarm pause «причина» # не брать НОВУЮ работу; живые дроны доработают
|
|
54
|
+
swarm resume # снова брать работу
|
|
55
|
+
swarm stop # погасить демона на этой машине
|
|
56
|
+
swarm remove --yes # отключить машину от роя целиком
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**`swarm stop` по умолчанию не обрывает дронов.** Есть живые сессии — команда
|
|
60
|
+
покажет, кто работает, и не станет их убивать: незапушенная работа дрона умирает
|
|
61
|
+
вместе с ним. Дальше выбираете сами: `swarm stop --wait` (дождаться, новую работу
|
|
62
|
+
рой в это время не берёт) или `swarm stop --force` (погасить сейчас, оборвав их).
|
|
63
|
+
|
|
64
|
+
**Пауза переживает перезапуск.** Она лежит файлом `~/.taskless-swarm/pause.json`,
|
|
65
|
+
поэтому перезагрузка машины не возвращает рой к работе молча. Поставить её можно и
|
|
66
|
+
при лежащем демоне — тогда следующий `swarm start` поднимется уже на паузе. Пауза,
|
|
67
|
+
поставленная из интерфейса Taskless, снимается командой на машине и наоборот:
|
|
68
|
+
состояние одно, и оно же видно в парке машин («на паузе» — не то же самое, что
|
|
69
|
+
«молчит» или «нет работы»).
|
|
70
|
+
|
|
71
|
+
**`swarm remove` ≠ `swarm logout`.** `logout` забывает токены на этой машине
|
|
72
|
+
(перелогиниться); `remove` выводит машину из роя: гасит демона, убирает её из парка
|
|
73
|
+
машин (её незавершённые прогоны освобождаются и уедут на другие машины) и стирает
|
|
74
|
+
токены. Вернуть — `swarm login && swarm start`.
|
|
75
|
+
|
|
37
76
|
## Windows
|
|
38
77
|
|
|
39
78
|
Рой работает на Windows, но **рекомендуемый способ — WSL2**: там он ведёт себя ровно
|
|
@@ -109,14 +148,19 @@ swarm_daemon_log(hostId, lines) # хвост лога самого демона
|
|
|
109
148
|
трекера лог не оседает, строка обмена умирает на чтении. Чужие логи недоступны —
|
|
110
149
|
и запрос, и доставка скоупятся владельцем машины.
|
|
111
150
|
|
|
112
|
-
Лог самого демона
|
|
113
|
-
|
|
151
|
+
Лог самого демона заводится сам: фоновый `swarm start` пишет в
|
|
152
|
+
`~/.taskless-swarm/overmind.log` и ротирует его при старте (прошлый — `.1`). Свой
|
|
153
|
+
путь — `SWARM_DAEMON_LOG`. Смотреть на месте:
|
|
114
154
|
|
|
115
155
|
```bash
|
|
116
|
-
swarm
|
|
117
|
-
|
|
156
|
+
swarm logs # хвост лога демона (по умолчанию 200 строк)
|
|
157
|
+
swarm logs -n 50 -f # следить за новыми строками
|
|
158
|
+
swarm log <runId> # это ДРУГОЕ: лог конкретного прогона
|
|
118
159
|
```
|
|
119
160
|
|
|
161
|
+
Запустили с `--foreground` — вывод идёт в терминал, и файла не будет: тогда за него
|
|
162
|
+
отвечает тот, кто перенаправил (systemd, docker, `tee`).
|
|
163
|
+
|
|
120
164
|
## Правообладатель и лицензия
|
|
121
165
|
|
|
122
166
|
© 2026 Ilya Smurov. Проприетарное коммерческое ПО — см. [LICENSE](./LICENSE).
|