Commit graph

26 commits

Author SHA1 Message Date
Aleksa Siriški
4586971a0f
special_flags 2023-01-22 18:35:23 +01:00
Pablo Yaniz
b9930e6a45 -q 2022-12-23 15:42:17 -06:00
Pablo Yaniz
c6e475671d added quotes to file 2022-12-23 15:37:24 -06:00
Pablo Yaniz
45f43353f5 Reviewed functionality and implemented quality of code changes 2022-12-23 11:33:28 -06:00
Pablo Yaniz
c57facbdc2 added optional date to log file 2022-12-22 20:34:50 -06:00
Joshua M. Boniface
fa3ea4bed0 Add debug log support and additional debug logs
Also fix decode bug from previous commit and re-unify test command
function.
2022-07-25 14:19:00 -04:00
Joshua M. Boniface
b49c13890f Standardize comment formatting 2022-07-20 02:43:45 -04:00
Joshua M. Boniface
7cbe14e80a Complete refactoring of rffmpeg
This commit represents a complete refactoring of rffmpeg while
preserving all existing functionality.

Several key changes are:

1. A cleaner function tree throughout the code, hopefully making things
easier to understand.

2. The use of "-t -t" to the "ssh" command to optimize behaviour when
Ctrl+C is used to terminate a test process.

3. The removal of the old PID-based "state" system in favour of a
ground-up SQLite-based system which can better track the current status.

4. The renaming of the binary from "rffmpeg.py" to "rffmpeg".

5. The addition of an alternate invocation and corresponding Click-based
CLI interface to manage the database, accessible by calling the
"rffmpeg" binary name directly instead of an "ffmpeg"/"ffprobe" alias.

6. The moving of host management out of the config file and into the
database/Click CLI interface for better management capabilities.

7. The proper defaulting of the configuration; an entirely empty
configuration can be specified if desired, using only default options.

This new version should be functionally identical to the old version in
all cases while providing the above changes.

This commit also adjust the documentation to reflect the updated setup
and options.
2022-07-19 23:51:00 -04:00
Robert Högberg
fd831a5890
Fix path to ssh key
I guess you can have any path to the ssh keys, but this will make the sample file match the README, which I think would be good..
2022-01-18 22:39:53 +01:00
Joshua M. Boniface
efd6c0696c Support configurable SSH persistence directory 2021-05-25 22:00:51 -04:00
Daniel Hellstern
9b28a7b81b Increased default persistence length to 300 seconds 2021-05-13 21:10:09 +00:00
Daniel Hellstern
338d8e7d27 Enabled SSH multiplexing/persistence 2021-05-13 20:51:06 +00:00
Joshua Boniface
1a0e9f0d2f Add support for full SSH paths
For cases where the SSH command on the $PATH might not be ideal, allow
the user to override this with a full path in the config.

Addresses #10
2021-04-29 14:29:38 -04:00
Joshua M. Boniface
386f179cf1 Add support for weighted hosts
Adds an optional new configuration format under the remote hosts
configuration segment, allowing the specification of a weight in
addition to the host name.

Weights are used to refactor the active "count" of a host in order to
bring it lower by the following logic:

1. If a host's weight is not specified, it is 1.

2. If a host's weight is 1, its "weighted_count" is equal to its
"count".

3. If a host's weight is greater than 1, its "weighted_count" is equal
to the floor division of its real "count" and its "weight".

So for example, if there are 2 hosts with weights 1 and 2, and there is
currently 1 process running against each, the "weighted_count"s would
be:
    host1: 1
    host2: 1//2 = 0
And thus host2 would be considered the "least loaded" host. Then, if
another process started:
    host1: 1
    host2: 2//2 = 1
Resulting in the last host on the list (the first to run a process)
getting the next one, and so on.

This logic should make sense, but I cannot extensively test it.

Closes #8 aspect 1 (aspect 2 is out-of-scope)
2021-04-27 18:17:02 -04:00
Bigo
e199b5ad68
Remove leftover in config example 2021-02-06 14:55:36 +00:00
Bigo
8fba9d5a7f
Modernize code and logging, simplify localhost handling 2021-02-06 14:53:13 +00:00
Joshua M. Boniface
e5f351f5b4 Correct typo in command path 2020-08-12 09:28:22 -04:00
Joshua M. Boniface
dcd08f6713 Support independent fallback commands
Allow specifying separate fallback commands. Not required, and will use
the main commands if not specified.

Closes #2
2020-08-11 23:23:27 -04:00
Joshua M. Boniface
4285b9c380 Fix bad path to ffprobe 2020-06-04 12:09:44 -04:00
Joshua Boniface
487e18edf1 Add file logging support 2019-11-13 11:14:53 -05:00
Joshua Boniface
9e5235a9fc Add default SSH arguments as example 2019-10-19 19:11:11 -04:00
Joshua Boniface
773c5d032c Set nicer comments and defaults 2019-10-19 19:10:03 -04:00
Joshua Boniface
d6d797622c Properly support ffprobe mode too 2019-10-19 18:33:43 -04:00
Joshua Boniface
62d192a9ce Nicer comment on ffmpeg path 2019-10-19 18:18:00 -04:00
Joshua Boniface
41eb400bb0 Use proper arg layout 2019-10-19 18:15:14 -04:00
Joshua Boniface
c5e00fcb51 Add initial rffmpeg 2019-10-19 17:54:20 -04:00