import prefect
import numpy as np
import datetime
import pytz
import gc
from prefect.schedules.schedules import CronSchedule

class FakeClass(object):

    def __del__(self):
        print("\nI AM DEAD\n")

@prefect.task
def get_fake_item():
    return FakeClass()

@prefect.task
def reference_to_fake_item(fake_item):
    fake_item.nested_attr = FakeClass()
    return fake_item

with prefect.Flow('test_flow') as test_flow:
    a = get_fake_item()
    b = reference_to_fake_item(a)

def main():
    test_flow.schedule = CronSchedule('* * * * *', start_date=datetime.datetime(2019,1,1,0,0,0, tzinfo=pytz.timezone('UTC')))
    test_flow.run()

if __name__ == '__main__':
    main()
