Collecting WSH data causes ibg gateway to hang

I recently started collecting Wall Street Horizon earnings date data in my zipline live strategy with the following line at the end of before_trading_starts:

collect_wsh_earnings_dates(sids=watch_sids)

I'm finding that this causes gateway 'ibg1' to stall when data is not available for one or more of the sids. Flightlog looks like this:

2021-05-25 11:06:13 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for A (sid FIBBG000C2V3D6)
2021-05-25 11:06:43 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for ACEL (sid FIBBG00GX221W3)
2021-05-25 11:06:43 quantrocket.fundamental: WARNING Disconnecting from gateways to force reconnect after TooManyTimeouts('20 consecutive timeouts for ibg1') (retry 1 of 30)
2021-05-25 11:16:17 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for ADBE (sid FIBBG000BB5006)
2021-05-25 11:16:47 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for ADNT (sid FIBBG009PN0C87)
2021-05-25 11:16:47 quantrocket.fundamental: WARNING Disconnecting from gateways to force reconnect after TooManyTimeouts('20 consecutive timeouts for ibg1') (retry 2 of 30)
2021-05-25 11:26:22 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for ADSK (sid FIBBG000BM7HL0)
2021-05-25 11:26:52 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for ALTR (sid FIBBG000PN9NB9)
2021-05-25 11:26:52 quantrocket.fundamental: WARNING Disconnecting from gateways to force reconnect after TooManyTimeouts('20 consecutive timeouts for ibg1') (retry 3 of 30)
2021-05-25 11:36:26 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for AME (sid FIBBG000B9XG87)
2021-05-25 11:36:56 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for AQUA (sid FIBBG00DPDYDN4)
2021-05-25 11:36:56 quantrocket.fundamental: WARNING Disconnecting from gateways to force reconnect after TooManyTimeouts('20 consecutive timeouts for ibg1') (retry 4 of 30)
2021-05-25 11:46:30 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for ARW (sid FIBBG000BCD3D5)
2021-05-25 11:47:00 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for ARWR (sid FIBBG000BRVKH0)
2021-05-25 11:47:00 quantrocket.fundamental: WARNING Disconnecting from gateways to force reconnect after TooManyTimeouts('20 consecutive timeouts for ibg1') (retry 5 of 30)
2021-05-25 11:56:34 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for AVT (sid FIBBG000BCPB71)
2021-05-25 11:57:04 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for AVY (sid FIBBG000BCQ4P6)
2021-05-25 11:57:04 quantrocket.fundamental: WARNING Disconnecting from gateways to force reconnect after TooManyTimeouts('20 consecutive timeouts for ibg1') (retry 6 of 30)
2021-05-25 12:06:39 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for BMY (sid FIBBG000DQLV23)
2021-05-25 12:07:09 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for BSY (sid FIBBG000BMSRR9)
2021-05-25 12:07:09 quantrocket.fundamental: WARNING Disconnecting from gateways to force reconnect after TooManyTimeouts('20 consecutive timeouts for ibg1') (retry 7 of 30)
2021-05-25 12:16:43 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for CAR (sid FIBBG000FLPRH1)
2021-05-25 12:17:13 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for CDNA (sid FIBBG006JS5785)
2021-05-25 12:17:13 quantrocket.fundamental: WARNING Disconnecting from gateways to force reconnect after TooManyTimeouts('20 consecutive timeouts for ibg1') (retry 8 of 30)
2021-05-25 12:26:47 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for CG (sid FIBBG000BH3F20)
2021-05-25 12:27:17 quantrocket.fundamental: ERROR No response received from ibg1 after 10 attempts for Wall Street Horizon earnings dates fundamental data request (CalendarReport) for CHRA (sid FIBBG00KY7TFV3)
2021-05-25 12:27:17 quantrocket.fundamental: WARNING Disconnecting from gateways to force reconnect after TooManyTimeouts('20 consecutive timeouts for ibg1') (retry 9 of 30)

Once this timeout loops starts, it prevents ibg1 from doing anything else, including the core task of retrieving tick data.

My questions are:

  1. Is it normal to not receive a response (or timeout) for a given sid, if no earnings dates data is available?
  2. If so, can the collection process handle the timeout in a way that doesn't disconnect the ibg gateway?

Thanks,
Paul.

I would try restarting IB Gateway. No response means an unresponsive IB Gateway, not the same as "no data available."