import
sched
import
threading
import
time
scheduler
=
sched.scheduler(time.time, time.sleep)
counter
=
0
def
increment_counter(name):
global
counter
print
(
'EVENT:'
, time.time(), name)
counter
+
=
1
print
(
'NOW:'
, counter)
print
(
'START:'
, time.time())
e1
=
scheduler.enter(
5
,
1
, increment_counter, (
'Liverpool match on TV'
,))
e2
=
scheduler.enter(
8
,
1
, increment_counter, (
'Take the rubbish bin out'
,))
def
worker():
print
(
"running worker"
)
scheduler.run
t
=
threading.Thread(target
=
worker, args
=
())
t.start()
while
True
:
print
(
"1. Schedule an event"
)
print
(
"2. View all scheduled events"
)
print
(
"3. Cancel all"
)
print
(
"4. Exit"
)
choice
=
int
(
input
(
"enter option >> "
))
if
choice
=
=
1
:
print
(
"Scheduling a new event..."
)
e1
=
scheduler.enter(
3
,
1
, increment_counter, (
'Some event in the future, remind me!'
,))
if
choice
=
=
2
:
print
(
"Queue status..."
)
print
(scheduler.queue)
if
choice
=
=
3
:
print
(
"Cancelling all events..."
)
for
ev
in
scheduler.queue:
scheduler.cancel(ev)
if
choice
=
=
4
:
print
(
"Exiting.."
)
break
print
(
'FINAL:'
, counter)