heroagent/aiprompts/instructions/instructions_processmanager.md
2025-04-23 04:18:28 +02:00

1.7 KiB

create a process manager

which keeps separate process under control, measures the used cpu, memory

add possibilities to list, create, delete

we can talk to the process manager over local unix domain socket using a telnet session

authentication

the telnet server says:

** Welcome: you are not authenticated, provide secret.

then we pass the secret which was passed when we started the process manager

once authenticated it says

** Welcome: you are authenticated.

now we can send heroscripts to it (see @pkg/playbook for how to parse that)

actions can be sent over telnet

just send heroscript statements

everytime a new !! goes or # as comment we execute the previous heroscripts

we make handlers

using the playbook: @pkg/playbook

this checks which commands are sent and this then calls the corresponding handler and instructs the processmanager

start

heroscript

!!process.start name:'processname' command:'command\n which can be multiline' log:true 
    deadline:30 cron:'0 0 * * *'  jobid:'e42'

list

heroscript

!!process.list format:json

lists the processes and returns as json

when telnet protocol needs to return its always as

RESULT e42 ... here is the result in chosen format ENDRESULT

if jobid specified on the heroscript action then its shown behind RESULT if not then its empty

delete

!!process.delete name:'processname'

status

!!process.status name:'processname' format:json

shows mem usage, cpu usage, status e.g. running ...

restart, stop, start

do same as status but then for these

log

!!process.log name:'processname' format:json limit:100

returns the last 100 lines of the log

if not format then just the log itself