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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

TimerThread-0.1.1.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

TimerThread-0.1.1-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file TimerThread-0.1.1.tar.gz.

File metadata

  • Download URL: TimerThread-0.1.1.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for TimerThread-0.1.1.tar.gz
Algorithm Hash digest
SHA256 417ee7c80ecefc25e7e74759d0d69b4f2b63bb351fb39fa5c362e529b4efdbc6
MD5 a819d0a5533f21bb36123707f64a5453
BLAKE2b-256 9e2473de674f0324c62952d8662b7affc42e4a9a40e36921661875b121a2b723

See more details on using hashes here.

File details

Details for the file TimerThread-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: TimerThread-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for TimerThread-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cd819676f758933440f60207379f6dc1421856ffc34888fe18269edcd6a2cd92
MD5 f5c3c400ec4fa5db81cc7444142b2e73
BLAKE2b-256 125269a4d2d446a72feaaa4488c9b71269d51bc17939a9d43922d85a6dd57ef1

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page