2
2
mirror of https://github.com/Hilbis/Hilbish synced 2025-06-30 16:22:03 +00:00
Hilbish/docs/api/hilbish/hilbish.jobs.md
sammyette 7c1984135b
docs: add detailed parameter listing, change interface to modules
there are a few changes here
- documentation of each parameter separately has been added
to the generated text docs
- interfaces have been renamed to modules. this was honestly a pointless
and confusing distinction (interfaces are tables for modules that are
lua modules). it also makes it so that (formerly) interfaces and
modules line up with each other on the doc list

im not sure what else i did, these are old changes
2023-08-26 11:30:51 -04:00

69 lines
2.1 KiB
Markdown

---
title: Module hilbish.jobs
description: background job management
layout: doc
menu:
docs:
parent: "API"
---
## Introduction
Manage interactive jobs in Hilbish via Lua.
Jobs are the name of background tasks/commands. A job can be started via
interactive usage or with the functions defined below for use in external runners.
## Functions
### hilbish.jobs.add(cmdstr, args, execPath)
Adds a new job to the job table. Note that this does not immediately run it.
#### Parameters
This function has no parameters.
### hilbish.jobs.all() -> table\<<a href="/Hilbish/docs/api/hilbish/hilbish.jobs/#job" style="text-decoration: none;" id="lol">Job</a>>
Returns a table of all job objects.
#### Parameters
This function has no parameters.
### hilbish.jobs.disown(id)
Disowns a job. This deletes it from the job table.
#### Parameters
This function has no parameters.
### hilbish.jobs.get(id) -> <a href="/Hilbish/docs/api/hilbish/hilbish.jobs/#job" style="text-decoration: none;" id="lol">Job</a>
Get a job object via its ID.
#### Parameters
This function has no parameters.
### hilbish.jobs.last() -> <a href="/Hilbish/docs/api/hilbish/hilbish.jobs/#job" style="text-decoration: none;" id="lol">Job</a>
Returns the last added job from the table.
#### Parameters
This function has no parameters.
## Types
## Job
The Job type describes a Hilbish job.
### Properties
- `cmd`: The user entered command string for the job.
- `running`: Whether the job is running or not.
- `id`: The ID of the job in the job table
- `pid`: The Process ID
- `exitCode`: The last exit code of the job.
- `stdout`: The standard output of the job. This just means the normal logs of the process.
- `stderr`: The standard error stream of the process. This (usually) includes error messages of the job.
### Methods
#### background()
Puts a job in the background. This acts the same as initially running a job.
#### foreground()
Puts a job in the foreground. This will cause it to run like it was
executed normally and wait for it to complete.
#### start()
Starts running the job.
#### stop()
Stops the job from running.