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-1.1.tar.gz (7.8 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: 31-1.1.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.9

File hashes

Hashes for 31-1.1.tar.gz
Algorithm Hash digest
SHA256 349f960f706af8252d29efd5f465d5b6779a81869a61303f078e1fb5a13beb72
MD5 928cf3d3b493f0f1e8daf5faf42b07b3
BLAKE2b-256 887ec58ee58b1746d9b47038f21f22e6c13517da9eaa9fc1c20af7961b979444

See more details on using hashes here.

Supported by

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