mealie-recipes / mealie

Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and mealie will automatically import the relevant data or add a family recipe with the UI editor
https://docs.mealie.io
GNU Affero General Public License v3.0
7.34k stars 732 forks source link

[BUG] - Bulk Import Failing RC2 #2788

Closed zierbeek closed 11 months ago

zierbeek commented 11 months ago

First Check

What is the issue you are experiencing?

Bulk import fails to import and doesn't throw an error.

Steps to Reproduce

1)Import url 2) Add bulk import 3) Add urls 4) Send

Please provide relevant logs

        File "/opt/pysetup/.venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 1230, in send

          await checkpoint()

        File "/opt/pysetup/.venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 447, in checkpoint

          await sleep(0)

        File "/usr/local/lib/python3.10/asyncio/tasks.py", line 596, in sleep

          await __sleep0()

        File "/usr/local/lib/python3.10/asyncio/tasks.py", line 590, in __sleep0

          yield

      asyncio.exceptions.CancelledError

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):

        File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_exceptions.py", line 10, in map_exceptions

          yield

        File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/backends/asyncio.py", line 78, in start_tls

          raise exc

        File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/backends/asyncio.py", line 68, in start_tls

          with anyio.fail_after(timeout):

        File "/opt/pysetup/.venv/lib/python3.10/site-packages/anyio/_core/_tasks.py", line 119, in __exit__

          raise TimeoutError

      TimeoutError

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):

        File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 60, in map_httpcore_exceptions

          yield

        File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 353, in handle_async_request

          resp = await self._pool.handle_async_request(req)

        File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection_pool.py", line 253, in handle_async_request

          raise exc

        File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection_pool.py", line 237, in handle_async_request

          response = await connection.handle_async_request(request)

        File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection.py", line 86, in handle_async_request

          raise exc

        File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection.py", line 63, in handle_async_request

          stream = await self._connect(request)

        File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection.py", line 150, in _connect

          stream = await stream.start_tls(**kwargs)

        File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/backends/asyncio.py", line 66, in start_tls

          with map_exceptions(exc_map):

        File "/usr/local/lib/python3.10/contextlib.py", line 153, in __exit__

          self.gen.throw(typ, value, traceback)

        File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions

          raise to_exc(exc)

      httpcore.ConnectTimeout

      The above exception was the direct cause of the following exception:

      Traceback (most recent call last):

        File "/app/mealie/services/scraper/scraper.py", line 45, in create_from_url

          await recipe_data_service.scrape_image(new_recipe.image)

        File "/app/mealie/services/recipe/recipe_data_service.py", line 129, in scrape_image

          image_url, _ = await largest_content_len(image_url)

        File "/app/mealie/services/recipe/recipe_data_service.py", line 34, in largest_content_len

          responses: list[Response] = await gather_with_concurrency(10, *tasks)

        File "/app/mealie/services/recipe/recipe_data_service.py", line 22, in gather_with_concurrency

          return await asyncio.gather(*(sem_coro(c) for c in coros))

        File "/app/mealie/services/recipe/recipe_data_service.py", line 20, in sem_coro

Mealie Version

Details Versie: v1.0.0-RC2 Bouw: c9852daf0e213dc4cadf97971c7787cf6fc66dfc Toepassingsmodus: Productie Demostatus: Geen demo API-poort: 10018 API-documentatie: Ingeschakeld Databasetype: postgres Versie van de receptenscraper: 14.52.0

Checks Beveiligde website: Nee Server-side basis-URL: Ja LDAP klaar: Nee E-mail geconfigureerd: Nee Docker Volume: success

Deployment

Docker (Linux)

Additional Deployment Details

Truecharts Truenas scale

michael-genson commented 11 months ago

Do you happen to have a list of recipes that failed? I pulled 16 random ones off of allrecipes.com and it works for me. I think I identified the issue based on your logs, but without a fail-case I can't test it

zierbeek commented 11 months ago

sure, could you share me your list? i had this one

https://www.hap-en-tap.be/tricolore-opgerolde-pannenkoekjes-met-parmaham/ https://www.hellofresh.be/recipes/wildzwijnburger-met-ovenfrietjes-en-rodekool-appelsalade-5dc5419dc6696230d0459a40 https://www.hellofresh.be/recipes/zelfgemaakte-worstenbroodjes-5e78dcf665cf3542eb46577b https://dagelijksekost.een.be/gerechten/chicken-wings-met-een-pittige-barbecuesaus https://www.laurasbakery.nl/gevulde-champignons-met-geitenkaas-walnoot-en-honing/ https://www.ah.be/allerhande/recept/R-R972700/chocolade-abrikozentaart https://www.hellofresh.be/recipes/broodje-hamburger-met-zomerse-meloensalade-606d726c4bb5d35d2a1cc724 https://www.hellofresh.be/recipes/tostada-met-gekruid-kipgehakt-en-cheddar-606d726705cb795572549fe2 https://www.hap-en-tap.be/canneles-met-gerookte-zalm/ https://metvijfaantafel.be/recept/alles-in-een-pan-gnocchi-met-spinazie-en-pesto/ https://www.laurasbakery.nl/deconstructed-lemon-meringue-pie-dessert/ https://www.hellofresh.be/recipes/luxe-caesarsalade-met-kip-en-spek-5e7a2aff69bd5368181ae482 https://www.dezondag.be/de-zondag/geniet/zondagse-kost/zondagse-kostcreme-kruimeltaart-of-knubbelkesvlaai/ https://www.libelle-lekker.be/bekijk-recept/290/zalmsteak-met-groenten https://www.hap-en-tap.be/aardbeienmousse-balsamicomeringue-en-gedroogde-aardbeien https://www.hellofresh.be/recipes/koreaanse-biefstukreepjes-met-rijst-5e8c44ec00dd6a07a051a89c https://www.laurasbakery.nl/zelf-nougatine-maken/ https://itsnotaboutcooking.nl/brownies-noten-en-sinaasappel/ https://www.laurasbakery.nl/passievrucht-meringue-tartelettes/ https://www.laurasbakery.nl/italiaans-schuim/#recipe https://dagelijksekost.een.be/gerechten/ossobuco https://www.laurasbakery.nl/appel-havermoutkoekjes/ https://www.hap-en-tap.be/croquetas-de-jamon-serrano-y-queso-manchego/ https://www.laurasbakery.nl/banketbakkersroom/ https://www.hellofresh.be/recipes/milde-curry-met-spinazie-en-kikkererwten-606d7262fda24c420770cf79 https://www.laurasbakery.nl/lemon-curd/ https://mykoreankitchen.com/bibimbap-korean-mixed-rice-with-meat-and-assorted-vegetables/ https://njam.tv/recepten/amaretto-sour https://metvijfaantafel.be/recept/alles-in-een-pan-tortellini-met-italiaanse-balletjes-en-burrata/ https://www.hellofresh.be/recipes/rijstbowl-met-varkenshaasreepjes-en-een-spiegelei-60b65014d0ff8c10c52a5268 https://www.hap-en-tap.be/pistache-brownie-van-maja/ https://www.laurasbakery.nl/mokkacreme/ https://www.hellofresh.nl/recipes/zweedse-stijl-gehaktballetjes-in-roomsaus-60d3403dd225e20150165c6f https://www.hellofresh.be/recipes/rundvleesburger-met-gebakken-ui-spek-en-comte-607fe045dc8b4b7f3024478d https://www.libelle-lekker.be/bekijk-recept/13207/groentepannetje-met-kip-en-geitenkaas https://www.libelle-lekker.be/bekijk-recept/1587/lasagne-met-zalm-en-spinazie-1 https://joyfoodsunshine.com/apple-crumble-pie/ https://www.hellofresh.be/recipes/romige-aardappelsoep-met-garnalen-60e4673bda64bd4c0400407a https://www.laurasbakery.nl/mokkataart/ https://www.hap-en-tap.be/kaashamkroketjes-mosterdcreme-gekleurde-tomaten/ https://www.hap-en-tap.be/koffie-chocolade-cupcakes-met-karamel-mascarpone-creme/ https://metvijfaantafel.be/recept/spaghetti-met-italiaanse-balletjes-in-tomatensaus/ https://www.hellofresh.be/recipes/zelfgemaakte-kipnuggets-5eb03107c86ec53e0c28a182 https://15gram.be/recepten/lichte-panna-cotta

michael-genson commented 11 months ago

Sweet, trying that now. Here's mine:

https://www.allrecipes.com/recipe/216564/swedish-meatballs-svenska-kottbullar/ https://www.allrecipes.com/recipe/235052/moms-potato-latkes/ https://www.allrecipes.com/bacon-wrapped-dates-with-goat-cheese-recipe-8367330 https://www.allrecipes.com/recipe/216756/baked-ham-and-cheese-party-sandwiches/ https://www.allrecipes.com/recipe/229826/perfect-crab-stuffed-mushrooms/ https://www.allrecipes.com/recipe/44187/coquito/ https://www.allrecipes.com/recipe/45957/chicken-makhani-indian-butter-chicken/ https://www.allrecipes.com/recipe/86047/garlic-chicken-fried-chicken/ https://www.allrecipes.com/recipe/16573/chicken-fried-chicken/ https://www.allrecipes.com/recipe/22737/chicken-enchiladas-v/ https://www.allrecipes.com/recipe/24782/makhani-chicken-indian-butter-chicken/ https://www.allrecipes.com/recipe/212940/chicken-arroz-caldo-chicken-rice-porridge/ https://www.allrecipes.com/recipe/8499/basic-chicken-salad/ https://www.allrecipes.com/recipe/244950/baked-chicken-schnitzel/ https://www.allrecipes.com/recipe/254804/chef-johns-nashville-hot-chicken/ https://www.allrecipes.com/recipe/8495/chicken-cordon-bleu-i/

zierbeek commented 11 months ago

confirm, this list is working! more complete logs:

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/mealie/services/scraper/scraper.py", line 45, in create_from_url
    await recipe_data_service.scrape_image(new_recipe.image)
  File "/app/mealie/services/recipe/recipe_data_service.py", line 129, in scrape_image
    image_url, _ = await largest_content_len(image_url)
  File "/app/mealie/services/recipe/recipe_data_service.py", line 34, in largest_content_len
    responses: list[Response] = await gather_with_concurrency(10, *tasks)
  File "/app/mealie/services/recipe/recipe_data_service.py", line 22, in gather_with_concurrency
    return await asyncio.gather(*(sem_coro(c) for c in coros))
  File "/app/mealie/services/recipe/recipe_data_service.py", line 20, in sem_coro
    return await coro
  File "/app/mealie/services/recipe/recipe_data_service.py", line 30, in do
    return await client.head(url, headers={"User-Agent": _FIREFOX_UA})
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1815, in head
    return await self.request(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1530, in request
    return await self.send(request, auth=auth, follow_redirects=follow_redirects)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1617, in send
    response = await self._send_handling_auth(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1645, in _send_handling_auth
    response = await self._send_handling_redirects(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1682, in _send_handling_redirects
    response = await self._send_single_request(request)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1719, in _send_single_request
    response = await transport.handle_async_request(request)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 352, in handle_async_request
    with map_httpcore_exceptions():
  File "/usr/local/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 77, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ConnectTimeout
ERROR: 05-Dec-23 16:22:19   Error Scraping Image: 
Traceback (most recent call last):
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/backends/asyncio.py", line 69, in start_tls
    ssl_stream = await anyio.streams.tls.TLSStream.wrap(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/anyio/streams/tls.py", line 123, in wrap
    await wrapper._call_sslobject_method(ssl_object.do_handshake)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/anyio/streams/tls.py", line 169, in _call_sslobject_method
    await self.transport_stream.send(self._write_bio.read())
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 1230, in send
    await checkpoint()
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 447, in checkpoint
    await sleep(0)
  File "/usr/local/lib/python3.10/asyncio/tasks.py", line 596, in sleep
    await __sleep0()
  File "/usr/local/lib/python3.10/asyncio/tasks.py", line 590, in __sleep0
    yield
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_exceptions.py", line 10, in map_exceptions
    yield
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/backends/asyncio.py", line 78, in start_tls
    raise exc
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/backends/asyncio.py", line 68, in start_tls
    with anyio.fail_after(timeout):
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/anyio/_core/_tasks.py", line 119, in __exit__
    raise TimeoutError
TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 60, in map_httpcore_exceptions
    yield
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 353, in handle_async_request
    resp = await self._pool.handle_async_request(req)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection_pool.py", line 253, in handle_async_request
    raise exc
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection_pool.py", line 237, in handle_async_request
    response = await connection.handle_async_request(request)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection.py", line 86, in handle_async_request
    raise exc
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection.py", line 63, in handle_async_request
    stream = await self._connect(request)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection.py", line 150, in _connect
    stream = await stream.start_tls(**kwargs)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/backends/asyncio.py", line 66, in start_tls
    with map_exceptions(exc_map):
  File "/usr/local/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
    raise to_exc(exc)
httpcore.ConnectTimeout

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/mealie/services/scraper/scraper.py", line 45, in create_from_url
    await recipe_data_service.scrape_image(new_recipe.image)
  File "/app/mealie/services/recipe/recipe_data_service.py", line 129, in scrape_image
    image_url, _ = await largest_content_len(image_url)
  File "/app/mealie/services/recipe/recipe_data_service.py", line 34, in largest_content_len
    responses: list[Response] = await gather_with_concurrency(10, *tasks)
  File "/app/mealie/services/recipe/recipe_data_service.py", line 22, in gather_with_concurrency
    return await asyncio.gather(*(sem_coro(c) for c in coros))
  File "/app/mealie/services/recipe/recipe_data_service.py", line 20, in sem_coro
    return await coro
  File "/app/mealie/services/recipe/recipe_data_service.py", line 30, in do
    return await client.head(url, headers={"User-Agent": _FIREFOX_UA})
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1815, in head
    return await self.request(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1530, in request
    return await self.send(request, auth=auth, follow_redirects=follow_redirects)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1617, in send
    response = await self._send_handling_auth(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1645, in _send_handling_auth
    response = await self._send_handling_redirects(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1682, in _send_handling_redirects
    response = await self._send_single_request(request)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1719, in _send_single_request
    response = await transport.handle_async_request(request)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 352, in handle_async_request
    with map_httpcore_exceptions():
  File "/usr/local/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 77, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ConnectTimeout
ERROR: 05-Dec-23 16:22:19   Fatal Image Request Exception
Traceback (most recent call last):
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_exceptions.py", line 10, in map_exceptions
    yield
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/backends/asyncio.py", line 110, in connect_tcp
    with anyio.fail_after(timeout):
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/anyio/_core/_tasks.py", line 119, in __exit__
    raise TimeoutError
TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 60, in map_httpcore_exceptions
    yield
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 353, in handle_async_request
    resp = await self._pool.handle_async_request(req)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection_pool.py", line 253, in handle_async_request
    raise exc
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection_pool.py", line 237, in handle_async_request
    response = await connection.handle_async_request(request)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection.py", line 86, in handle_async_request
    raise exc
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection.py", line 63, in handle_async_request
    stream = await self._connect(request)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection.py", line 111, in _connect
    stream = await self._network_backend.connect_tcp(**kwargs)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/backends/auto.py", line 29, in connect_tcp
    return await self._backend.connect_tcp(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/backends/asyncio.py", line 109, in connect_tcp
    with map_exceptions(exc_map):
  File "/usr/local/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
    raise to_exc(exc)
httpcore.ConnectTimeout

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/mealie/services/recipe/recipe_data_service.py", line 146, in scrape_image
    r = await client.get(image_url, headers={"User-Agent": _FIREFOX_UA})
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1757, in get
    return await self.request(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1530, in request
    return await self.send(request, auth=auth, follow_redirects=follow_redirects)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1617, in send
    response = await self._send_handling_auth(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1645, in _send_handling_auth
    response = await self._send_handling_redirects(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1682, in _send_handling_redirects
    response = await self._send_single_request(request)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1719, in _send_single_request
    response = await transport.handle_async_request(request)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 352, in handle_async_request
    with map_httpcore_exceptions():
  File "/usr/local/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 77, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ConnectTimeout
ERROR: 05-Dec-23 16:22:19   Fatal Image Request Exception
Traceback (most recent call last):
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_exceptions.py", line 10, in map_exceptions
    yield
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/backends/asyncio.py", line 110, in connect_tcp
    with anyio.fail_after(timeout):
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/anyio/_core/_tasks.py", line 119, in __exit__
    raise TimeoutError
TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 60, in map_httpcore_exceptions
    yield
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 353, in handle_async_request
    resp = await self._pool.handle_async_request(req)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection_pool.py", line 253, in handle_async_request
    raise exc
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection_pool.py", line 237, in handle_async_request
    response = await connection.handle_async_request(request)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection.py", line 86, in handle_async_request
    raise exc
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection.py", line 63, in handle_async_request
    stream = await self._connect(request)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_async/connection.py", line 111, in _connect
    stream = await self._network_backend.connect_tcp(**kwargs)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/backends/auto.py", line 29, in connect_tcp
    return await self._backend.connect_tcp(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/backends/asyncio.py", line 109, in connect_tcp
    with map_exceptions(exc_map):
  File "/usr/local/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
    raise to_exc(exc)
httpcore.ConnectTimeout

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/mealie/services/recipe/recipe_data_service.py", line 146, in scrape_image
    r = await client.get(image_url, headers={"User-Agent": _FIREFOX_UA})
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1757, in get
    return await self.request(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1530, in request
    return await self.send(request, auth=auth, follow_redirects=follow_redirects)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1617, in send
    response = await self._send_handling_auth(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1645, in _send_handling_auth
    response = await self._send_handling_redirects(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1682, in _send_handling_redirects
    response = await self._send_single_request(request)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_client.py", line 1719, in _send_single_request
    response = await transport.handle_async_request(request)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 352, in handle_async_request
    with map_httpcore_exceptions():
  File "/usr/local/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 77, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ConnectTimeout
INFO: 05-Dec-23 16:22:19    original.jpg minified
INFO: 05-Dec-23 16:22:19    Tiny image saved
INFO: 05-Dec-23 16:22:19    HTTP Request: GET https://www.hap-en-tap.be/wp-content/uploads/2019/11/Kroketjes-FT.jpg "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:22:19    HTTP Request: GET https://metvijfaantafel.be/wp-content/uploads/2023/05/Alles-in-een-pan-tortellini-met-Italiaanse-balletjes-en-burrata.jpg "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:22:19    HTTP Request: GET https://www.laurasbakery.nl/wp-content/smush-webp/2019/10/mokkacreme-uitgelicht.jpg.webp "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:22:19    HTTP Request: GET https://www.hap-en-tap.be/wp-content/uploads/2019/02/Koffiecakejes-1-FT.jpg "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:22:19    HTTP Request: GET https://metvijfaantafel.be/wp-content/uploads/2021/06/Spaghetti-met-Italiaanse-balletjes-in-tomatensaus.jpg "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:22:19    HTTP Request: GET https://www.hap-en-tap.be/wp-content/uploads/2021/04/Taartje-Maja-def-FT.jpg "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:22:19    original.jpg minified
INFO: 05-Dec-23 16:22:19    Tiny image saved
INFO: 05-Dec-23 16:22:19    HTTP Request: GET https://mykoreankitchen.com/wp-content/uploads/2013/07/1.Korean-mixed-rice-Bibimbap.jpg "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:22:19    HTTP Request: GET https://image.15gram.be/uploads/recipes/4679_panna-cotta_1471939742-1920x1280.jpg "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:22:20    original.jpg minified
INFO: 05-Dec-23 16:22:20    Tiny image saved
INFO: 05-Dec-23 16:22:20    original.jpg minified
INFO: 05-Dec-23 16:22:20    Tiny image saved
INFO: 05-Dec-23 16:22:20    original.jpg minified
INFO: 05-Dec-23 16:22:20    Tiny image saved
INFO: 05-Dec-23 16:22:20    original.jpg minified
INFO: 05-Dec-23 16:22:20    Tiny image saved
INFO: 05-Dec-23 16:22:21    original.jpg minified
INFO: 05-Dec-23 16:22:21    Tiny image saved
INFO: 05-Dec-23 16:22:21    original.jpg minified
INFO: 05-Dec-23 16:22:21    Tiny image saved
INFO: 05-Dec-23 16:22:21    original.jpg minified
INFO: 05-Dec-23 16:22:21    Tiny image saved
INFO: 05-Dec-23 16:39:33    Database connection established.
INFO: 05-Dec-23 16:39:33    Context impl PostgresqlImpl.
INFO: 05-Dec-23 16:39:33    Will assume transactional DDL.
WARNING: 05-Dec-23 16:39:33     "get_all" method is deprecated; use "page_all" instead
INFO: 05-Dec-23 16:39:33    No food found with slug: 'dairy-products-and-dairy-substitutes' skipping fix
INFO: 05-Dec-23 16:39:37    -----SYSTEM STARTUP----- 

INFO: 05-Dec-23 16:39:37    ------APP SETTINGS------
INFO: 05-Dec-23 16:39:37    {
    "theme": {
        "light_primary": "#E58325",
        "light_accent": "#007A99",
        "light_secondary": "#973542",
        "light_success": "#43A047",
        "light_info": "#1976D2",
        "light_warning": "#FF6D00",
        "light_error": "#EF5350",
        "dark_primary": "#E58325",
        "dark_accent": "#007A99",
        "dark_secondary": "#973542",
        "dark_success": "#43A047",
        "dark_info": "#1976D2",
        "dark_warning": "#FF6D00",
        "dark_error": "#EF5350"
    },
    "PRODUCTION": true,
    "BASE_URL": "https://mealie.borri.click",
    "STATIC_FILES": "/spa/static",
    "IS_DEMO": false,
    "API_PORT": 10018,
    "API_DOCS": true,
    "TOKEN_TIME": 48,
    "LOG_LEVEL": "INFO",
    "GIT_COMMIT_HASH": "c9852daf0e213dc4cadf97971c7787cf6fc66dfc",
    "ALLOW_SIGNUP": true,
    "SECURITY_MAX_LOGIN_ATTEMPTS": 5,
    "SECURITY_USER_LOCKOUT_TIME": 24,
    "DB_ENGINE": "postgres",
    "DEFAULT_GROUP": "Home",
    "SMTP_HOST": null,
    "SMTP_PORT": "587",
    "SMTP_FROM_NAME": "Mealie",
    "SMTP_FROM_EMAIL": null,
    "SMTP_AUTH_STRATEGY": "TLS",
    "LDAP_AUTH_ENABLED": false,
    "LDAP_SERVER_URL": null,
    "LDAP_TLS_INSECURE": false,
    "LDAP_TLS_CACERTFILE": null,
    "LDAP_ENABLE_STARTTLS": false,
    "LDAP_BASE_DN": null,
    "LDAP_QUERY_BIND": null,
    "LDAP_QUERY_PASSWORD": null,
    "LDAP_USER_FILTER": null,
    "LDAP_ADMIN_FILTER": null,
    "LDAP_ID_ATTRIBUTE": "uid",
    "LDAP_MAIL_ATTRIBUTE": "mail",
    "LDAP_NAME_ATTRIBUTE": "name",
    "TESTING": false
}
INFO: 05-Dec-23 16:44:06    HTTP Request: GET https://caiorss.github.io/bookmarklet-maker/ "HTTP/1.1 200 OK"
ERROR: 05-Dec-23 16:44:06   Recipe Scraper was unable to extract a recipe.
INFO: 05-Dec-23 16:44:06    HTTP Request: GET https://caiorss.github.io/bookmarklet-maker/ "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:44:16    HTTP Request: GET https://www.google.com/?client=safari "HTTP/1.1 200 OK"
ERROR: 05-Dec-23 16:44:16   Recipe Scraper was unable to extract a recipe.
INFO: 05-Dec-23 16:44:16    HTTP Request: GET https://www.google.com/?client=safari "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:46:07    HTTP Request: GET https://www.google.com/search?q=add%20bookmarklet%20to%20safari "HTTP/1.1 200 OK"
ERROR: 05-Dec-23 16:46:07   Recipe Scraper was unable to extract a recipe.
INFO: 05-Dec-23 16:46:07    HTTP Request: GET https://www.google.com/search?q=add%20bookmarklet%20to%20safari "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:46:25    HTTP Request: GET https://www.hap-en-tap.be/tricolore-opgerolde-pannenkoekjes-met-parmaham/ "HTTP/1.1 200 OK"
ERROR: 05-Dec-23 16:46:26   Recipe Scraper was unable to extract a recipe.
INFO: 05-Dec-23 16:46:27    HTTP Request: GET https://www.hap-en-tap.be/tricolore-opgerolde-pannenkoekjes-met-parmaham/ "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:46:27    Image URL: https://www.hap-en-tap.be/wp-content/uploads/2020/07/Parmaham-FT.jpg
INFO: 05-Dec-23 16:46:27    HTTP Request: GET https://www.hap-en-tap.be/wp-content/uploads/2020/07/Parmaham-FT.jpg "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:46:27    original.jpg minified
INFO: 05-Dec-23 16:46:27    Tiny image saved
INFO: 05-Dec-23 16:49:16    Seeding Ingredient Foods
INFO: 05-Dec-23 16:49:25    Seeding Ingredient Units
INFO: 05-Dec-23 16:49:34    Seeding MultiPurposeLabel
INFO: 05-Dec-23 16:51:41    HTTP Request: GET https://www.hellofresh.be/recipes/wildzwijnburger-met-ovenfrietjes-en-rodekool-appelsalade-5dc5419dc6696230d0459a40 "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:51:41    Image URL: ['https://img.hellofresh.com/f_auto,fl_lossy,h_640,q_auto,w_1200/hellofresh_s3/image/wildzwijnburger-met-ovenfrietjes-en-rodekool-appelsalade-8aa73c98.jpg']
INFO: 05-Dec-23 16:51:41    HTTP Request: HEAD https://img.hellofresh.com/f_auto,fl_lossy,h_640,q_auto,w_1200/hellofresh_s3/image/wildzwijnburger-met-ovenfrietjes-en-rodekool-appelsalade-8aa73c98.jpg "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:51:41    HTTP Request: GET https://img.hellofresh.com/f_auto,fl_lossy,h_640,q_auto,w_1200/hellofresh_s3/image/wildzwijnburger-met-ovenfrietjes-en-rodekool-appelsalade-8aa73c98.jpg "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:51:41    original.jpg minified
INFO: 05-Dec-23 16:51:41    Tiny image saved
INFO: 05-Dec-23 16:56:52    HTTP Request: GET https://www.hellofresh.be/recipes/zelfgemaakte-worstenbroodjes-5e78dcf665cf3542eb46577b "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:56:52    Image URL: ['https://img.hellofresh.com/f_auto,fl_lossy,h_640,q_auto,w_1200/hellofresh_s3/image/HF200313_R23_W16_NL_R2226-1_main_low-3415f079.jpg']
INFO: 05-Dec-23 16:56:52    HTTP Request: HEAD https://img.hellofresh.com/f_auto,fl_lossy,h_640,q_auto,w_1200/hellofresh_s3/image/HF200313_R23_W16_NL_R2226-1_main_low-3415f079.jpg "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:56:52    HTTP Request: GET https://img.hellofresh.com/f_auto,fl_lossy,h_640,q_auto,w_1200/hellofresh_s3/image/HF200313_R23_W16_NL_R2226-1_main_low-3415f079.jpg "HTTP/1.1 200 OK"
INFO: 05-Dec-23 16:56:52    original.jpg minified
INFO: 05-Dec-23 16:56:52    Tiny image saved
INFO: 05-Dec-23 17:39:37    locked users reset
INFO: 05-Dec-23 18:39:37    locked users reset
INFO: 05-Dec-23 19:39:37    locked users reset
INFO: 05-Dec-23 20:39:37    locked users reset
INFO: 05-Dec-23 21:39:37    locked users reset
INFO: 05-Dec-23 22:39:37    locked users reset
INFO: 05-Dec-23 23:39:37    locked users reset
INFO: 06-Dec-23 00:39:37    locked users reset
INFO: 06-Dec-23 01:39:37    locked users reset
INFO: 06-Dec-23 02:39:37    locked users reset
INFO: 06-Dec-23 03:39:37    locked users reset
INFO: 06-Dec-23 04:39:37    locked users reset
INFO: 06-Dec-23 05:39:37    locked users reset
INFO: 06-Dec-23 06:39:37    locked users reset
INFO: 06-Dec-23 07:39:37    locked users reset
INFO: 06-Dec-23 08:39:37    locked users reset
INFO: 06-Dec-23 09:39:37    locked users reset
INFO: 06-Dec-23 10:39:37    locked users reset
INFO: 06-Dec-23 11:39:37    locked users reset
INFO: 06-Dec-23 12:39:37    locked users reset
INFO: 06-Dec-23 13:39:37    locked users reset
INFO: 06-Dec-23 14:39:37    locked users reset
INFO: 06-Dec-23 15:39:37    locked users reset
INFO: 06-Dec-23 16:39:37    registration token purged
INFO: 06-Dec-23 16:39:37    password reset tokens purged
ERROR: 06-Dec-23 16:39:37   Error in scheduled task func='purge_group_data_exports': exception='(psycopg2.errors.UndefinedFunction) operator does not exist: character varying <= timestamp without time zone
LINE 3: WHERE group_data_exports.expires <= '2023-12-05T16:39:37.647...
                                         ^
HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.

[SQL: SELECT group_data_exports.id, group_data_exports.group_id, group_data_exports.name, group_data_exports.filename, group_data_exports.path, group_data_exports.size, group_data_exports.expires, group_data_exports.created_at, group_data_exports.update_at 
FROM group_data_exports 
WHERE group_data_exports.expires <= %(expires_1)s]
[parameters: {'expires_1': datetime.datetime(2023, 12, 5, 16, 39, 37, 647058)}]
(Background on this error at: https://sqlalche.me/e/20/f405)'
INFO: 06-Dec-23 16:39:37    locked users reset
INFO: 06-Dec-23 17:39:37    locked users reset
INFO: 06-Dec-23 18:39:37    locked users reset
INFO: 06-Dec-23 19:39:37    locked users reset
INFO: 06-Dec-23 20:39:37    locked users reset
INFO: 06-Dec-23 21:39:37    locked users reset
INFO: 06-Dec-23 22:06:14    HTTP Request: GET https://www.allrecipes.com/recipe/229826/perfect-crab-stuffed-mushrooms/ "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:14    HTTP Request: GET https://www.allrecipes.com/recipe/212940/chicken-arroz-caldo-chicken-rice-porridge/ "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:14    HTTP Request: GET https://www.allrecipes.com/recipe/86047/garlic-chicken-fried-chicken/ "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:14    HTTP Request: GET https://www.allrecipes.com/recipe/16573/chicken-fried-chicken/ "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:14    HTTP Request: GET https://www.allrecipes.com/recipe/45957/chicken-makhani-indian-butter-chicken/ "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:14    HTTP Request: GET https://www.allrecipes.com/recipe/24782/makhani-chicken-indian-butter-chicken/ "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:14    HTTP Request: GET https://www.allrecipes.com/recipe/22737/chicken-enchiladas-v/ "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:14    HTTP Request: GET https://www.allrecipes.com/recipe/44187/coquito/ "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:14    HTTP Request: GET https://www.allrecipes.com/recipe/8499/basic-chicken-salad/ "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:14    HTTP Request: GET https://www.allrecipes.com/bacon-wrapped-dates-with-goat-cheese-recipe-8367330 "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:14    HTTP Request: GET https://www.allrecipes.com/recipe/216756/baked-ham-and-cheese-party-sandwiches/ "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:14    HTTP Request: GET https://www.allrecipes.com/recipe/254804/chef-johns-nashville-hot-chicken/ "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:14    HTTP Request: GET https://www.allrecipes.com/recipe/8495/chicken-cordon-bleu-i/ "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:14    HTTP Request: GET https://www.allrecipes.com/recipe/244950/baked-chicken-schnitzel/ "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:15    Image URL: ['https://www.allrecipes.com/thmb/3jOBPlxaE4sYurPR0RYgfF2qX04=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/8461820-chicken-enchiladas-v-Henchman-Hunter-4x3-1-5a2370a531ca4c0a8b44943865434a38.jpg']
INFO: 06-Dec-23 22:06:15    HTTP Request: GET https://www.allrecipes.com/recipe/216564/swedish-meatballs-svenska-kottbullar/ "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:15    Image URL: ['https://www.allrecipes.com/thmb/4grl4EQdsIYgBxzxzZcTwKMYxIs=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/6512910-02568b8eea414fff9d49f500458faaf3.jpg']
INFO: 06-Dec-23 22:06:15    Image URL: ['https://www.allrecipes.com/thmb/5HglrNLUT16KFaiEe1mlQYWN-Mc=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/8495-chicken-cordon-bleu-i-DDMFS-4x3-7dc7fc3c6c37438badf35f188172bd09.jpg']
INFO: 06-Dec-23 22:06:15    Image URL: ['https://www.allrecipes.com/thmb/AalxQlIAcGzwyONFjXzAzCtho6o=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/8349113-garlic-chicken-fried-chicken-Tacita-Lady_T-Beautiful-1x1-1-434fa1b59efc48db9a0a351322e3f45a.jpg']
INFO: 06-Dec-23 22:06:15    Image URL: ['https://www.allrecipes.com/thmb/-C0seWVNoysl7wjBhyPXxlKhRvU=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/8499-basic-chicken-salad-DDMFS-4x3-1edf4d259ac9437da114bdcee84337ee.jpg']
INFO: 06-Dec-23 22:06:16    Image URL: ['https://www.allrecipes.com/thmb/UB91VMUuh1pvgCrwb2Ls8jLfhn8=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/5939577-perfect-crab-stuffed-mushrooms-Mackenzie-Schieck-4x3-1-6715b79239274a5e99c473f8d397814f.jpg']
INFO: 06-Dec-23 22:06:16    Image URL: ['https://www.allrecipes.com/thmb/ov65yUQ7e7ZNBaMtlVTOQYdM_ls=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/3651781-810e0b61706349279c2fe7d7eca7363e.jpg']
INFO: 06-Dec-23 22:06:16    Image URL: ['https://www.allrecipes.com/thmb/QF7KADg58x9wVQcSjVBsOk9pDEI=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/216564-swedish-meatballs-svenska-kottbullar-DDMFS-4x3-2cfaeac162c9485dbd7d632fd0b6ef0a.jpg']
INFO: 06-Dec-23 22:06:16    HTTP Request: GET https://www.allrecipes.com/recipe/235052/moms-potato-latkes/ "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:16    Image URL: ['https://www.allrecipes.com/thmb/z_UH9CRADspAEAdhRa-mXa_xLd0=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/8367330_Bacon-Wrapped-Dates-with-GoatCheese_France-C_4x3-593a152bdfd4452289a6e979ed4b771c.jpg']
INFO: 06-Dec-23 22:06:16    Image URL: ['https://www.allrecipes.com/thmb/Icn_f4w0fMLbRrV78v8bMSkwfhs=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/45957-ChickenMakhaniIndianButterChicken-mfs-4X3-0037-7aa9a555bf3943baae20c5c3b0921375.jpg']
INFO: 06-Dec-23 22:06:16    Image URL: ['https://www.allrecipes.com/thmb/v0KF7LJuSsRiA3bc7sYJ2V3bwV8=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/254804-chef-johns-nashville-hot-chicken-DDMFS-4x3-c1192bac5dfc43bba55056a33a17153f.jpg']
INFO: 06-Dec-23 22:06:16    Image URL: ['https://www.allrecipes.com/thmb/4TAN4PhYNTiegIQ7CBEzh5UmxRo=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/1423828-moms-potato-latkes-Holiday-Baker-1x1-1-b1c132698dfa4d3b8c299f8e611b3906.jpg']
INFO: 06-Dec-23 22:06:17    HTTP Request: HEAD https://www.allrecipes.com/thmb/4grl4EQdsIYgBxzxzZcTwKMYxIs=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/6512910-02568b8eea414fff9d49f500458faaf3.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:17    HTTP Request: HEAD https://www.allrecipes.com/thmb/5HglrNLUT16KFaiEe1mlQYWN-Mc=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/8495-chicken-cordon-bleu-i-DDMFS-4x3-7dc7fc3c6c37438badf35f188172bd09.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:17    Image URL: ['https://www.allrecipes.com/thmb/n5TbAYtBLCU3cVk0LfApLts10Z0=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/244950-baked-chicken-schnitzel-step-4-35-eb70480d775c4f0eb97309eb4107da32.jpg']
INFO: 06-Dec-23 22:06:17    Image URL: ['https://www.allrecipes.com/thmb/gS3yT_9t9TxTUpQHYq0wZK1k0cc=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/5830864-makhani-chicken-indian-butter-chicken-MotherSarah-1x1-1-b2c237f4a9d243899dd082de108a65fe.jpg']
INFO: 06-Dec-23 22:06:17    HTTP Request: HEAD https://www.allrecipes.com/thmb/UB91VMUuh1pvgCrwb2Ls8jLfhn8=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/5939577-perfect-crab-stuffed-mushrooms-Mackenzie-Schieck-4x3-1-6715b79239274a5e99c473f8d397814f.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:17    HTTP Request: HEAD https://www.allrecipes.com/thmb/QF7KADg58x9wVQcSjVBsOk9pDEI=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/216564-swedish-meatballs-svenska-kottbullar-DDMFS-4x3-2cfaeac162c9485dbd7d632fd0b6ef0a.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:17    Image URL: ['https://www.allrecipes.com/thmb/J5Xqu5mA4P2Q68aThs74VJlQ30A=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/44187-coquito-vat-4X3-1-8bf148c0ff1a4a5b88660a66c28aa05d.jpg']
INFO: 06-Dec-23 22:06:17    Image URL: ['https://www.allrecipes.com/thmb/aS_TDCGizKGfO6fMJ7jQedoP31U=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/216756-Baked-Ham-And-Cheese-Party-Sandwiches-mfs_001-4x3-931c71f723a14e26a6f11dea7fdc3f8c.jpg']
INFO: 06-Dec-23 22:06:17    HTTP Request: HEAD https://www.allrecipes.com/thmb/z_UH9CRADspAEAdhRa-mXa_xLd0=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/8367330_Bacon-Wrapped-Dates-with-GoatCheese_France-C_4x3-593a152bdfd4452289a6e979ed4b771c.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:17    HTTP Request: HEAD https://www.allrecipes.com/thmb/3jOBPlxaE4sYurPR0RYgfF2qX04=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/8461820-chicken-enchiladas-v-Henchman-Hunter-4x3-1-5a2370a531ca4c0a8b44943865434a38.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:17    HTTP Request: GET https://www.allrecipes.com/thmb/4grl4EQdsIYgBxzxzZcTwKMYxIs=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/6512910-02568b8eea414fff9d49f500458faaf3.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:17    HTTP Request: GET https://www.allrecipes.com/thmb/5HglrNLUT16KFaiEe1mlQYWN-Mc=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/8495-chicken-cordon-bleu-i-DDMFS-4x3-7dc7fc3c6c37438badf35f188172bd09.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:18    HTTP Request: GET https://www.allrecipes.com/thmb/QF7KADg58x9wVQcSjVBsOk9pDEI=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/216564-swedish-meatballs-svenska-kottbullar-DDMFS-4x3-2cfaeac162c9485dbd7d632fd0b6ef0a.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:18    HTTP Request: GET https://www.allrecipes.com/thmb/UB91VMUuh1pvgCrwb2Ls8jLfhn8=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/5939577-perfect-crab-stuffed-mushrooms-Mackenzie-Schieck-4x3-1-6715b79239274a5e99c473f8d397814f.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:18    HTTP Request: GET https://www.allrecipes.com/thmb/z_UH9CRADspAEAdhRa-mXa_xLd0=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/8367330_Bacon-Wrapped-Dates-with-GoatCheese_France-C_4x3-593a152bdfd4452289a6e979ed4b771c.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:18    HTTP Request: GET https://www.allrecipes.com/thmb/3jOBPlxaE4sYurPR0RYgfF2qX04=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/8461820-chicken-enchiladas-v-Henchman-Hunter-4x3-1-5a2370a531ca4c0a8b44943865434a38.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:18    original.jpg minified
INFO: 06-Dec-23 22:06:18    Tiny image saved
INFO: 06-Dec-23 22:06:18    HTTP Request: HEAD https://www.allrecipes.com/thmb/n5TbAYtBLCU3cVk0LfApLts10Z0=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/244950-baked-chicken-schnitzel-step-4-35-eb70480d775c4f0eb97309eb4107da32.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:18    HTTP Request: HEAD https://www.allrecipes.com/thmb/aS_TDCGizKGfO6fMJ7jQedoP31U=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/216756-Baked-Ham-And-Cheese-Party-Sandwiches-mfs_001-4x3-931c71f723a14e26a6f11dea7fdc3f8c.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:18    HTTP Request: HEAD https://www.allrecipes.com/thmb/gS3yT_9t9TxTUpQHYq0wZK1k0cc=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/5830864-makhani-chicken-indian-butter-chicken-MotherSarah-1x1-1-b2c237f4a9d243899dd082de108a65fe.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:18    HTTP Request: HEAD https://www.allrecipes.com/thmb/J5Xqu5mA4P2Q68aThs74VJlQ30A=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/44187-coquito-vat-4X3-1-8bf148c0ff1a4a5b88660a66c28aa05d.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:18    HTTP Request: HEAD https://www.allrecipes.com/thmb/ov65yUQ7e7ZNBaMtlVTOQYdM_ls=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/3651781-810e0b61706349279c2fe7d7eca7363e.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:18    original.jpg minified
INFO: 06-Dec-23 22:06:18    Tiny image saved
INFO: 06-Dec-23 22:06:19    original.jpg minified
INFO: 06-Dec-23 22:06:19    Tiny image saved
INFO: 06-Dec-23 22:06:19    HTTP Request: HEAD https://www.allrecipes.com/thmb/Icn_f4w0fMLbRrV78v8bMSkwfhs=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/45957-ChickenMakhaniIndianButterChicken-mfs-4X3-0037-7aa9a555bf3943baae20c5c3b0921375.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:19    HTTP Request: HEAD https://www.allrecipes.com/thmb/4TAN4PhYNTiegIQ7CBEzh5UmxRo=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/1423828-moms-potato-latkes-Holiday-Baker-1x1-1-b1c132698dfa4d3b8c299f8e611b3906.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:19    HTTP Request: HEAD https://www.allrecipes.com/thmb/-C0seWVNoysl7wjBhyPXxlKhRvU=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/8499-basic-chicken-salad-DDMFS-4x3-1edf4d259ac9437da114bdcee84337ee.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:19    original.jpg minified
INFO: 06-Dec-23 22:06:19    Tiny image saved
INFO: 06-Dec-23 22:06:20    original.jpg minified
INFO: 06-Dec-23 22:06:20    Tiny image saved
INFO: 06-Dec-23 22:06:20    original.jpg minified
INFO: 06-Dec-23 22:06:20    Tiny image saved
INFO: 06-Dec-23 22:06:20    HTTP Request: HEAD https://www.allrecipes.com/thmb/AalxQlIAcGzwyONFjXzAzCtho6o=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/8349113-garlic-chicken-fried-chicken-Tacita-Lady_T-Beautiful-1x1-1-434fa1b59efc48db9a0a351322e3f45a.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:20    HTTP Request: HEAD https://www.allrecipes.com/thmb/v0KF7LJuSsRiA3bc7sYJ2V3bwV8=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/254804-chef-johns-nashville-hot-chicken-DDMFS-4x3-c1192bac5dfc43bba55056a33a17153f.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:20    HTTP Request: GET https://www.allrecipes.com/thmb/J5Xqu5mA4P2Q68aThs74VJlQ30A=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/44187-coquito-vat-4X3-1-8bf148c0ff1a4a5b88660a66c28aa05d.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:20    HTTP Request: GET https://www.allrecipes.com/thmb/ov65yUQ7e7ZNBaMtlVTOQYdM_ls=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/3651781-810e0b61706349279c2fe7d7eca7363e.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:20    HTTP Request: GET https://www.allrecipes.com/thmb/gS3yT_9t9TxTUpQHYq0wZK1k0cc=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/5830864-makhani-chicken-indian-butter-chicken-MotherSarah-1x1-1-b2c237f4a9d243899dd082de108a65fe.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:20    HTTP Request: GET https://www.allrecipes.com/thmb/n5TbAYtBLCU3cVk0LfApLts10Z0=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/244950-baked-chicken-schnitzel-step-4-35-eb70480d775c4f0eb97309eb4107da32.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:20    HTTP Request: GET https://www.allrecipes.com/thmb/Icn_f4w0fMLbRrV78v8bMSkwfhs=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/45957-ChickenMakhaniIndianButterChicken-mfs-4X3-0037-7aa9a555bf3943baae20c5c3b0921375.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:20    HTTP Request: GET https://www.allrecipes.com/thmb/aS_TDCGizKGfO6fMJ7jQedoP31U=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/216756-Baked-Ham-And-Cheese-Party-Sandwiches-mfs_001-4x3-931c71f723a14e26a6f11dea7fdc3f8c.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:21    original.jpg minified
INFO: 06-Dec-23 22:06:21    Tiny image saved
INFO: 06-Dec-23 22:06:21    original.jpg minified
INFO: 06-Dec-23 22:06:21    Tiny image saved
INFO: 06-Dec-23 22:06:21    original.jpg minified
INFO: 06-Dec-23 22:06:21    Tiny image saved
INFO: 06-Dec-23 22:06:21    original.jpg minified
INFO: 06-Dec-23 22:06:21    Tiny image saved
INFO: 06-Dec-23 22:06:22    original.jpg minified
INFO: 06-Dec-23 22:06:22    Tiny image saved
INFO: 06-Dec-23 22:06:22    original.jpg minified
INFO: 06-Dec-23 22:06:22    Tiny image saved
INFO: 06-Dec-23 22:06:22    HTTP Request: GET https://www.allrecipes.com/thmb/4TAN4PhYNTiegIQ7CBEzh5UmxRo=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/1423828-moms-potato-latkes-Holiday-Baker-1x1-1-b1c132698dfa4d3b8c299f8e611b3906.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:22    HTTP Request: GET https://www.allrecipes.com/thmb/AalxQlIAcGzwyONFjXzAzCtho6o=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/8349113-garlic-chicken-fried-chicken-Tacita-Lady_T-Beautiful-1x1-1-434fa1b59efc48db9a0a351322e3f45a.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:22    HTTP Request: GET https://www.allrecipes.com/thmb/v0KF7LJuSsRiA3bc7sYJ2V3bwV8=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/254804-chef-johns-nashville-hot-chicken-DDMFS-4x3-c1192bac5dfc43bba55056a33a17153f.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:22    HTTP Request: GET https://www.allrecipes.com/thmb/-C0seWVNoysl7wjBhyPXxlKhRvU=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/8499-basic-chicken-salad-DDMFS-4x3-1edf4d259ac9437da114bdcee84337ee.jpg "HTTP/1.1 200 OK"
INFO: 06-Dec-23 22:06:22    original.jpg minified
INFO: 06-Dec-23 22:06:22    Tiny image saved
INFO: 06-Dec-23 22:06:23    original.jpg minified
INFO: 06-Dec-23 22:06:23    Tiny image saved
INFO: 06-Dec-23 22:06:23    original.jpg minified
INFO: 06-Dec-23 22:06:23    Tiny image saved
INFO: 06-Dec-23 22:06:24    original.jpg minified
INFO: 06-Dec-23 22:06:24    Tiny image saved
michael-genson commented 11 months ago

Yup, can reproduce with your recipe list, it's causing a mess of errors haha. Looks like the issue is mostly that the bulk import isn't fault tolerant, so when it hits certain errors it just dies

zierbeek commented 11 months ago

Thanks for confirming!

dfinley commented 11 months ago

To add additional samples, here is a list of URLs that will not import through the bulk import:

http://www.eatwell101.com/honey-dijon-chicken-veggies-foil-packs http://www.eatwell101.com/garlic-chicken-skillet-recipe http://www.eatwell101.com/pesto-baked-pork-chops-recipe http://www.eatwell101.com/spicy-shrimp-recipe-broccoli-mash http://www.eatwell101.com/one-skillet-gnocchi-recipe

From the logs, each one is returning HTTP status code of 301

michael-genson commented 11 months ago

I checked those, looks like eatwell101 doesn't properly expose their recipe data, so we can't scrape it.

I did, however, run it through my PR and it behaves as expected (all recipes fail but the report doesn't fail)

dfinley commented 11 months ago

Honestly, that's good to know.  This seems to be a different issue, the URLs are returning 301 status, if I load the URL in my browser, the new URL, and import that to Mealie, it works as expected (with the exception that the meal image isn't parsed.

Thank you for checking too.

Cheers,

Don

Don Finley

Founder | FINdustries ( https://fin.dustries.com/ )

@.***

M: 610.213.3477

Our Manifesto ( http://fin.dustries.com/manifesto/ )

On Wed, Dec 06, 2023 at 5:44 PM, Michael Genson < @.*** > wrote:

I checked those, looks like eatwell101 doesn't properly expose their recipe data, so we can't scrape it.

I did, however, run it through my PR and it behaves as expected (all recipes fail but the report doesn't fail)

— Reply to this email directly, view it on GitHub ( https://github.com/mealie-recipes/mealie/issues/2788#issuecomment-1843808046 ) , or unsubscribe ( https://github.com/notifications/unsubscribe-auth/ABJ55LE7UFAVG5RW7FSUKDLYIDYMFAVCNFSM6AAAAABAH4LZVKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBTHAYDQMBUGY ). You are receiving this because you are subscribed to this thread. Message ID: <mealie-recipes/mealie/issues/2788/1843808046 @ github. com>

michael-genson commented 11 months ago

The 301 is just saying it's been relocated, but you should see 200 requests following the 301's