def METHOD_NAME(self):
    # type: () -> ()
    """
    Implement the main query / interface of the monitor class.
    In order to combine multiple Monitor objects, call `monitor_step` manually.
    If Tasks are detected in this call,
    :return: None
    """
    previous_timestamp = self._previous_timestamp or time()
    timestamp = time()
    try:
        # retrieve experiments orders by last update time
        task_filter = {
            'page_size': 100,
            'page': 0,
            'status_changed': ['>{}'.format(datetime.utcfromtimestamp(previous_timestamp)), ],
            'project': self._get_projects_ids(),
        }
        task_filter.update(self.get_query_parameters())
        queried_tasks = Task.get_tasks(task_name=self._task_name_filter, task_filter=task_filter)
    except Exception as ex:
        # do not update the previous timestamp
        print('Exception querying Tasks: {}'.format(ex))
        return
    # process queried tasks
    for task in queried_tasks:
        try:
            self.process_task(task)
        except Exception as ex:
            print('Exception processing Task ID={}:\n{}'.format(task.id, ex))
    self._previous_timestamp = timestamp