Skip to main content

PseudoService

A simple threaded task launcher that emulates unix service-unit style behavior.

Introduction

PseudoService is a simple scheduled threading task manager for Python applications. It provides a convenient way to manage tasks in a threaded environment.

Usage

To use PseudoService, follow these steps:

  1. Import the Launcher class from the pseudoservice module.
  2. Define your tasks as a dictionary where each key represents a task name and each value is a dictionary specifying the task details.
  3. Initialize an instance of Launcher with your tasks.
  4. Start the tasks using the start_tasks() method.

Example Usage

from pseudoservice import Launcher
import mytask_1
import mytask_2
import mytask_3

# Define tasks
tasks = {
    'My first task': {  # A task that will restart if the thread is closed.
        'task': mytask_1,
        'restart': True
    },
    'My second task': {  # A task with arguments that will run once and then close.
        'task': mytask_2,
        'args': [var_1, var_2, var_3]
    },
    'My third task': {  # A task with arguments and keyword arguments that will restart if the thread is closed.
        'task': mytask_3,
        'args': [var_1, var_2],
        'kwargs': {'varname_1': var_1, 'varname_2': var_2},
        'restart': True
    },
}

# Initialize and start tasks
task_launcher = Launcher(tasks)
task_launcher.start_tasks()

Launcher Class

Launcher(tasks: dict)

Initialize the Launcher class with a dictionary of tasks.

Methods

start_tasks(): Launches the threaded tasks.

Task Configuration

Each task is defined by a dictionary with the following keys:

  • task: Required. Specifies the task to be executed.

  • args: Optional. Arguments to be passed to the task function.

  • kwargs: Optional. Keyword arguments to be passed to the task function.

  • restart: Optional. Specifies whether the task should restart if the thread is closed.

  • delay: Optional. Specifies the delay (in seconds) between successive executions of the task. Notes

  • Tasks are executed in separate threads.

  • The Launcher class handles task scheduling and thread management.

Initialization

PseudoService can be installed from pip.

pip install pseudoservice

Credits

PseudoService was developed by Manbehindthemadness.

Metadata

Release files for pseudoservice 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pseudoservice 0.1.0
File Size Uploaded
pseudoservice-0.1.0.tar.gz 3.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pseudoservice 0.1.0
File Interpreter ABI Platform
pseudoservice-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 6.8 kB

Release files / pseudoservice-0.1.0.tar.gz

Download URL pseudoservice-0.1.0.tar.gz
Size 3.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d253112dedf4110ba128df7014236fcc65c71e001efa53726e6a20e69b020470
BLAKE2b-256 checksum
How to use checksums
bfb1613ab10839faead93ad508fbdaf055c61b84e048439743ae29a2a26ba287
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.2

Release files / pseudoservice-0.1.0-py3-none-any.whl

Download URL pseudoservice-0.1.0-py3-none-any.whl
Size 3.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
521a8fd923e886e26a11721d315e49a1c206a56df63300f775221267f0f02ee3
BLAKE2b-256 checksum
How to use checksums
6d0e2addebdd20179591fa1897ad1b6d2fc8d7ab36dc02af5d22a832c4f6e671
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.2

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page