Python Forum
Stopping scheduler with condition
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Stopping scheduler with condition
#13
Here's a finished module, that will do what you want.

import threading


class EventTimer:
    def __init__(self):
        self.t = None

    def add_event(self, func, days=0, hours=0, minutes=0, seconds=0):
        times = [days, hours, minutes, seconds]
        multiplier = [86400, 3600, 60, 1]
        count = 0

        for n in range(len(times)):
            count += times[n] * multiplier[n]

        self.t = threading.Timer(count, func)

    def start_thread(self):
        self.t.start()

    def wait_for_finish(self, timeout=None):
        self.t.join(timeout)
        self.t = None


class MyTimer(EventTimer):
    def __init__(self, max_iters=1, seconds=0):
        super().__init__()
        self.num_iterations_so_far = 0
        self.max_iters = max_iters
        self.seconds = seconds

    def kick_off_event(self):
        self.add_event(self.event_triggered, seconds=self.seconds)
        self.start_thread()

    def event_triggered(self):
        self.max_iters -= 1
        print('T minus {}'.format(self.max_iters))
        if self.max_iters > 0:
            self.kick_off_event()


def try_timer():
    mte = MyTimer(max_iters=8, seconds=2)
    mte.kick_off_event()
    mte.wait_for_finish()


if __name__ == '__main__:
    try_timer()
Reply


Messages In This Thread
Stopping scheduler with condition - by j.crater - Dec-22-2016, 08:08 AM
RE: Stopping scheduler with condition - by wavic - Dec-22-2016, 09:31 AM
RE: Stopping scheduler with condition - by j.crater - Dec-22-2016, 09:40 AM
RE: Stopping scheduler with condition - by wavic - Dec-22-2016, 09:46 AM
RE: Stopping scheduler with condition - by Larz60+ - Dec-22-2016, 12:30 PM
RE: Stopping scheduler with condition - by j.crater - Jan-03-2017, 09:19 AM
RE: Stopping scheduler with condition - by Larz60+ - Jan-03-2017, 10:53 AM
RE: Stopping scheduler with condition - by j.crater - Jan-03-2017, 01:06 PM
RE: Stopping scheduler with condition - by Larz60+ - Jan-03-2017, 01:09 PM
RE: Stopping scheduler with condition - by j.crater - Jan-03-2017, 01:12 PM
RE: Stopping scheduler with condition - by Larz60+ - Jan-03-2017, 01:15 PM
RE: Stopping scheduler with condition - by Larz60+ - Jan-03-2017, 05:32 PM
RE: Stopping scheduler with condition - by Larz60+ - Jan-03-2017, 10:50 PM
RE: Stopping scheduler with condition - by j.crater - Jan-04-2017, 06:36 AM
RE: Stopping scheduler with condition - by j.crater - Jan-09-2017, 03:02 PM
RE: Stopping scheduler with condition - by Larz60+ - Jan-09-2017, 07:28 PM
RE: Stopping scheduler with condition - by j.crater - Jan-10-2017, 06:31 AM
RE: Stopping scheduler with condition - by Larz60+ - Jan-10-2017, 11:06 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
Question Running Python script through Task Scheduler? Winfried 8 856 Mar-10-2024, 07:24 PM
Last Post: Winfried
  stopping number conversion before end Skaperen 6 3,136 Jul-12-2020, 09:22 AM
Last Post: DeaD_EyE
  Stopping a loop in another file catosp 4 2,803 Jun-15-2020, 02:45 PM
Last Post: catosp
  else condition not called when if condition is false Sandz1286 10 6,092 Jun-05-2020, 05:01 PM
Last Post: ebolisa
  [HELP] Nested conditional? double condition followed by another condition. penahuse 25 8,455 Jun-01-2020, 06:00 PM
Last Post: penahuse
  how to cancel scheduler module event nanok66 0 2,218 May-11-2020, 10:31 PM
Last Post: nanok66
  Getting an .exe to run from Task Scheduler fioranosnake 2 3,094 Dec-06-2019, 12:20 PM
Last Post: DeaD_EyE
  Simple mutli-threaded scheduler using sched - stuck Mzarour 2 6,253 Nov-12-2019, 07:44 PM
Last Post: Mzarour
  Batch file not running python script in task scheduler davork 3 4,642 May-09-2019, 12:53 PM
Last Post: Gribouillis
  Help with Stopping a function after a timer SheeppOSU 0 1,971 Jan-28-2019, 10:13 PM
Last Post: SheeppOSU

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020