def teardown_method(self, _test_method): for region in REGIONS: docket.purge_query_docket( ScrapeKey(region, constants.ScrapeType.BACKGROUND) ) sessions.ds().delete_multi(self.sessions_to_delete) self.project_id_patcher.stop()
def test_purge_query_docket_nothing_matching(self): scrape_key_purge = ScrapeKey(REGIONS[0], constants.ScrapeType.BACKGROUND) scrape_key_add = ScrapeKey(REGIONS[1], constants.ScrapeType.BACKGROUND) pubsub_helper.create_topic_and_subscription(scrape_key_add, docket.PUBSUB_TYPE) docket.add_to_query_docket(scrape_key_add, get_payload()).result() docket.purge_query_docket(scrape_key_purge) assert not docket.get_new_docket_item(scrape_key_purge, return_immediately=True)
def purge_docket_and_session(scrape_key): """Purges the docket and sessions for the given region and scrape type. First, deletes all unleased tasks from the docket for provided region/type. Second, checks sessions for still-leased tasks, then removes them. That is, this pulls any sessions from the relevant region / scrape type that are still associated with leased tasks, and (if found) deletes the task and removes the association with the session. Args: scrape_key: (ScrapeKey) The scraper whose sessions to purge and whose items to purge from the docket Returns: N/A """ docket.purge_query_docket(scrape_key) session_results = sessions.get_sessions_with_leased_docket_items(scrape_key) for session in session_results: sessions.remove_docket_item_from_session(session)
def test_purge_query_docket_already_empty(self): scrape_key = ScrapeKey(REGIONS[0], constants.ScrapeType.BACKGROUND) docket.purge_query_docket(scrape_key) assert not docket.get_new_docket_item(scrape_key, return_immediately=True)
def teardown_method(self, _test_method): for region in REGIONS: docket.purge_query_docket( ScrapeKey(region, constants.ScrapeType.BACKGROUND))
def teardown_method(self, _test_method: Callable) -> None: for region in REGIONS: docket.purge_query_docket( ScrapeKey(region, constants.ScrapeType.BACKGROUND)) self.project_id_patcher.stop()