You can either put calling this method in a loop, which would sleep for some time 
from time import sleep
while True:
    sleep(1200)
    my_function()
and be triggered once in a while, you could use datetime to compare current timestamp and set next executions.
import datetime
function_executed = False
trigger_time = datetime.datetime.now()
def set_trigger_time():
    global function executed = False
    return datetime.datetime.now() + datetime.timedelta(minutes=20)
while True:
    if function_executed:
        triggertime = set_trigger_time()
    if datetime.datetime.now() == triggertime:
        function_executed = True
        my_function()
I think however making a system call the script would be a nicer solution.