Skip to main content

TimerThread

TimerThread is

TimerThread supports to

  • schedule task execution after a given delay
  • schedule recurring task execution
  • run in the background
  • use @task decorator to define task

Quickstart

Define your function, now(cost) as an example:

import time

def now(cost=1):
    time.sleep(cost)
    print( time.strftime('%Y-%m-%d %H:%M:%S %Z', time.localtime()) )

Create a TimerThread scheduler and start it:

import timerthread

timer = timerthread.Scheduler('recur', 3, now, args=(1,))
timer.start()

Shutdown the scheduler:

timer.cancel()

Play with the @task decorator

Use @task decorator to define your function, then schedule it and start the scheduler, now(cost) as an example:

import time
import timerthread

@timerthread.task('recur', 3)
def now(cost=1):
    time.sleep(cost)
    print( time.strftime('%Y-%m-%d %H:%M:%S %Z', time.localtime()) )

timer = now.sched(cost=1)
timer.start()

When you'd like to cancel the recurring execution, shutdown the scheduler as usual:

timer.cancel()

Install TimerThread

$ pip install timerthread

Documentation

Scheduler

class timerthread.Scheduler(trigger, interval, fn, args=(), kwargs={})

trigger must be 'delay' or 'recur'.

  • stopped

    The scheduler is stopped or not, True (default) or False.

  • result

    The execution result, {} as default.

  • start()

    Let scheduler start executing your function as scheduled in the background.

  • cancel()

    Shutdown the scheduler.

task

class timerthread.task(trigger, interval)

trigger must be 'delay' or 'recur'.

  • Use @task decorator to define your function, then schedule it and start the scheduler:

    @timerthread.task(trigger, interval)
    def fn(args, kwargs):
        pass
    
    timer = fn.sched(*args, **kwargs)
    

    fn.sched(*args, **kwargs) returns timerthread.Scheduler instance.

Related Projects

Metadata

Release files for TimerThread 0.1.1

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

Source distribution (sdist)

Source distribution for TimerThread 0.1.1
File Size Uploaded
TimerThread-0.1.1.tar.gz 3.1 kB Details

Built distribution (wheel)

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

Total release size: 7.5 kB

Release files / TimerThread-0.1.1.tar.gz

Download URL TimerThread-0.1.1.tar.gz
Size 3.1 kB
Tags Source
SHA-256 checksum
How to use checksums
417ee7c80ecefc25e7e74759d0d69b4f2b63bb351fb39fa5c362e529b4efdbc6
BLAKE2b-256 checksum
How to use checksums
9e2473de674f0324c62952d8662b7affc42e4a9a40e36921661875b121a2b723
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

Release files / TimerThread-0.1.1-py3-none-any.whl

Download URL TimerThread-0.1.1-py3-none-any.whl
Size 4.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cd819676f758933440f60207379f6dc1421856ffc34888fe18269edcd6a2cd92
BLAKE2b-256 checksum
How to use checksums
125269a4d2d446a72feaaa4488c9b71269d51bc17939a9d43922d85a6dd57ef1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

Release history Release notifications | RSS feed

This release

0.1.1 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