Skip to main content

Runs code in a specified environment in the background and notifies you when it is done.

Project description

31

31 is a simple tool you can use to run code in the background on a server.

For example

31 c 'sleep 100; echo 2'

runs the command sleep 100; echo 2 in a screen session then sends you an email with the output of the command once it is complete.

Setup

Install 31 by running

pip install 31

Then set up your email address by running

31 config email youremail@example.com

Quick dependency setup

On ubuntu you can run

sudo apt install screen mailutils

to quickly set up the dependencies needed.

Detailed dependency setup

Mail program

By default, 31 searches for a mail program to use from the following list. You can also force it to use one of the programs by using the command

31 config mail_program <mail program name>
  • gnu_mail. To install on ubuntu you can run
sudo apt install mailutils
  • mutt. To install on ubuntu you can run
sudo apt install mutt

Screen Manager

Currently 31 only supports screen. To install screen on ubuntu run

sudo apt install screen

Options

See 31 -h for a full list of options. This section covers only some of the more complicated ones

Foreach

This option allows you to run multiple commands with text substitution. As a basic usage example, the code

31 c -f %x 1,2,3 'touch %x.txt'

Creates each of the files 1.txt, 2.txt, and 3.txt. The variable substitution is managed via direct text-substitution, and thus your variables do not need to begin with %, this works equally well (though is far less readable)

31 c -f 2 1,2,3 'touch 2.txt'

You can also modify two variables in tandem like this:

31 c -f2 %x %ext 1,2,3 txt,png,py 'touch %x.%ext'

This creates the files 1.txt, 2.png, 3.py. If you instead want to create all combinations, you can run:

31 c -f %x 1,2,3 -f %ext txt,png,py 'touch %x.%ext'

This creates the files 1.txt, 1.png, 1.py, 2.txt, 2.png, 2.py, 3.txt, 3.png, 3.py.

The values field is in comma-separated-value form, which means you can use " as a CSV escape, as such:

31 -c -f %x '",",2' `touch %x.txt`

which creates the files ,.txt and 2.txt.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

31-2.2.tar.gz (11.7 kB view details)

Uploaded Source

File details

Details for the file 31-2.2.tar.gz.

File metadata

  • Download URL: 31-2.2.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.8

File hashes

Hashes for 31-2.2.tar.gz
Algorithm Hash digest
SHA256 0ff9d3acb7601aaff92aadb8960db675fc45709ca7f6ae33a7d3cba3b3afaa67
MD5 cfb807e16ff43f0b376054ad601652f8
BLAKE2b-256 5e1d1372623bc2547b71e208ac4ead607c2bf579895a6d1d0ed9b5591f70f5f9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page