From 0da983c1f74c764e5cb98ddccdc15aaceb383814 Mon Sep 17 00:00:00 2001 From: VG Date: Thu, 21 Apr 2016 17:51:25 +0200 Subject: Auto-commit on 6d1dbe8495b5fafbc5f50d80268d0ca5b7b097be --- test.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 test.py diff --git a/test.py b/test.py new file mode 100644 index 0000000..6a4007b --- /dev/null +++ b/test.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 + + +import contextlib +import os +import random +import socket +import subprocess + + +procs = [] +procmax = 2 +s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) +with contextlib.suppress(FileNotFoundError): + os.unlink('socket') +s.bind(b'socket') +s.listen(0) +while True: + client, _ = s.accept() + line = client.recv(1024) + if not line.endswith(b'\n'): + client.close() + continue + filename = line.rstrip() + client.close() + + print('running for filename {}'.format(filename)) + + p = subprocess.Popen("sleep {} && echo ffmpeg {}" + .format(random.randint(1, 10), filename), shell=True) + + procs.append(p) + + if len(procs) >= procmax: + os.wait() + procs = list(p for p in procs if p.poll() is not None) -- cgit v1.2.3