pleaserun icon indicating copy to clipboard operation
pleaserun copied to clipboard

Terminology discussion

Open jordansissel opened this issue 11 years ago • 7 comments

What do we call something generated by pleaserun? Put another way, what name would you use to refer to an init script, systemd service, launchd service, etc? Currently, this is called a 'program' and it seems like not the best name.

Also, is "platform" the best name for the actual system being targeted? By this I mean sysv init, systemd, launchd, upstart, etc themselves.

Are there any other terms we should try to get right? ;)

jordansissel avatar Mar 20 '14 06:03 jordansissel

I think platform is quite a good term for what it is.

'program' on the other hand… might be better off called 'service', or 'task'. Then there's the issue that some inits will support more than one instance of said… 'program'… started with different parameters.

igalic avatar Mar 24 '14 15:03 igalic

Terminology is super important! I think pleaserun should help users generate what is required to 'launch tasks' on each 'platform'. To me, 'service' is already overused and will be confusing.

beddari avatar Mar 26 '14 12:03 beddari

In my mind, a 'task' is a something more suited to describing a once-run "job" like filesystem mountings or network configuration.

Wide and generally, Systemd has "Units" and Upstart has "Jobs" but these are outside of what we care about. Systemd units can be devices, mounts, one-shot things, or services. Upstart has Jobs but can be tasks (one-shot things, short lived) or services.Pleaserun cares about the following in existing terms:

What pleaserun currently calls a runner sometimes, but is not consistent in terminology:

  • systemd: service http://www.freedesktop.org/software/systemd/man/systemd.service.html\

    A unit configuration file whose name ends in .service encodes information about a process controlled and supervised by systemd.

  • upstart: service http://manpages.ubuntu.com/manpages/saucy/man5/init.5.html

    Each configuration file defines the template for a single service (long-running process or daemon) or task (short-lived process).

  • puppet: service resource
  • chef: service resource
  • supervisord: program or process http://supervisord.org/configuration.html#program-x-section-settings

    configuration file must contain one or more program sections in order for supervisord to know which programs it should start and control

  • runit: service http://smarden.org/runit/benefits.html

    Service supervision. Each service is associated with a service directory ...

  • daemontools: service http://cr.yp.to/daemontools.html

    daemontools is a collection of tools for managing UNIX services. supervise monitors a service. It starts the service and restarts the service if it dies

  • openrc: ???
  • freebsd rcng: daemon http://www.freebsd.org/doc/en/articles/rc-scripting/index.html
    1. Startup and shutdown of a simple daemon
  • windows: service http://technet.microsoft.com/en-us/library/cc783643%28v=ws.10%29.aspx

    A service is an application type that runs in the system background and is similar to a UNIX daemon application

Seems like 'service' is the most common term, here.

jordansissel avatar Mar 26 '14 14:03 jordansissel

This makes sense as the abstraction model for pleaserun is long-running/presistent processes, like described above.

I might have been carried away by thinking about e.g osx launchd as a task scheduler and thus the nature of those tasks - them being long-running, short-lived, or even one-offs - as a descriptive characteristic.

beddari avatar Mar 27 '14 10:03 beddari

Most of those inits (systemd, upstart, launchd) can be (ab)used as cron replacement or to start short-running tasks, but it's probably not the primary use of that pleaserun users will use it for.

This is me making wild assumptions.

igalic avatar Mar 27 '14 11:03 igalic

Indeed. Personally, I have no use for "one-shot" tasks like upstart tasks or things like systemd mounts, so thus far pleaserun has focused on long running service processes only. I don't expect that to change, but am open to discussion. I think it is not needed to support other things in pleaserun because one-shot tasks are so easy to do, in general; there is no start/stop/etc mechanics or complexities.

-Jordan

On Thursday, March 27, 2014, Igor Galić [email protected] wrote:

Most of those inits (systemd, upstart, launchd) can be (ab)used as cron replacement or to start short-running tasks, but it's probably not the primary use of that pleaserun users will use it for.

This is me making wild assumptions.

— Reply to this email directly or view it on GitHubhttps://github.com/jordansissel/pleaserun/issues/37#issuecomment-38789918 .

jordansissel avatar Mar 27 '14 13:03 jordansissel

Some discussion after CentOS Dojo about systemd reminded me to mention that I am still in support of adding one-shot tasks to pleaserun, but need advice/discussion to steer the decisions and features there.

jordansissel avatar Apr 02 '14 00:04 jordansissel