def run(self):

        urls = {
            'top': endpoints.TOP,
            'new': endpoints.NEW,
            'ask': endpoints.ASK,
            'jobs': endpoints.JOBS,
            'show': endpoints.SHOW,
        }

        while True:
            # Get stories for each category and store them
            limit = 15
            for name, url in urls.items():
                logging.debug('Getting stories for section {}'.format(name))
                ids = requests.get(url).json()
                setattr(self.program.state, name, ids[:limit])
                self.put_stories(name, ids, limit)

            # Sleep for a little bit
            try:
                interval = int(
                    self.program.config.getint('settings', 'interval'))
            except:
                interval = defaults.DEFAULTS['settings']['interval']

            logging.debug('HNWorker will sleep for {}s'.format(interval))
            time.sleep(interval)
Get data from endpoints, store it, then wait. Repeat.
dataset/ETHPy150Open walkr/hn/hn/workers.py/HNWorker.run