Multithreading & processing worker and Sequencer
Project description
BotBoy
Multithreading & processing worker that executes functions and prints the result
Version 3 Release
Installation
pip install botboy
Usage
Instantiation
from botboy import BotBoy
name = 'Adder' # Name of thread/process
task = lambda x, y: x + y # Function to run on separate thread/process
params = [1, 2] # Task arguments
verbose = True # Logging
bot = BotBoy(name=name, task=task, params=params, verbose=verbose)
# You may also instantiate with the setup() method
name = 'Subtracter'
task = lambda x, y: x - y
params = [2, 3]
bot = BotBoy()
bot.setup(name=name, task=task, params=params)
# Print params
print(bot)
# Turn logging on
bot.verbose()
# Turn logging off
bot.silent()
Execute task
result = bot.execute()
# Wait for execution to finish
result = bot.execute(wait=True)
# Execute on separate process
result = bot.execute(is_process=True) # Wait does not work for process
Getters
print(bot.name())
print(bot.task())
print(bot.params())
print(bot.result()) # Result will be None unless task was executed
# Or print all params together
print(bot)
Store result in a file or provide a path
# Store result in a file at current directory
bot.save('test.txt')
# Store result at path
import os
bot.save(os.getcwd() + '/test2.txt')
Run multiple tasks with Sequencer
from botboy import BotBoy, Sequencer
tasks = [lambda x, y: x + y, lambda x, y: x - y, lambda x, y: x * y]
params = [[1, 2], [3, 4], [5, 6]]
# Create list of BotBoys
bots = Sequencer.pack(tasks=tasks, params=params, verbose=True)
# Instantiate
seq = Sequencer(bots)
# Retrieve results
results = seq()
Test
Runs the tests on the BotBoy Module
make test-init: Test Initialization
make test-wrapper: Test _wrapper method
make test-client: Test client methods
make test-sequencer: Test Sequencer
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
botboy-3.0.0.tar.gz
(5.5 kB
view hashes)
Built Distribution
Close
Hashes for botboy-3.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 293fade4f5ce8fee07af7d6309ea7b7b70bd82f31e038e7601515fab4e84d82a |
|
MD5 | 16cfd3f600348dfbbe15eecc293443bd |
|
BLAKE2b-256 | 234a000213b5e13614928a598505a43814cdd1c721a7f97a6595ec1bc72ac7e9 |