• LogParser v0.8.2, last updated at 2026-03-29 12:18:39, http://scrapyd-2:6800/logs/sourcing_v2/vpauto.fr/task_20_2026-03-29T12_00_00.json

PROJECT (sourcing_v2), SPIDER (vpauto.fr)

  • Log analysis
  • Log categorization
  • Progress visualization
  • View log
  • Crawler.stats
  • projectsourcing_v2
    spidervpauto.fr
    jobtask_20_2026-03-29T12_00_00
    first_log_time2026-03-29 12:00:05
    latest_log_time2026-03-29 12:18:35
    runtime0:18:30
    crawled_pages 521
    scraped_items 496
    shutdown_reasonN/A
    finish_reasonfinished
    log_critical_count0
    log_error_count37
    log_warning_count0
    log_redirect_count0
    log_retry_count0
    log_ignore_count0
    latest_crawl
    latest_scrape
    latest_log
    current_time
    latest_itemN/A
    • WARNING+

    • error_logs
      last 10 of 37

      2026-03-29 12:07:15 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
      Traceback (most recent call last):
        File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
          response.raise_for_status()
        File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
          raise HTTPError(http_error_msg, response=self)
      requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
      2026-03-29 12:07:15 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
       'c_o_2_emission_value': 120,
       'car_expert_report_source_url': None,
       'category': None,
       'color': 'Unknown',
       'currency': 'EUR',
       'doors_number': 5,
       'emission_standard': None,
       'engine': '',
       'expiration_date': None,
       'fuel_type': 'Diesel',
       'id': 'ef34cf65-a32d-5ee5-8701-a3c6c6daa135',
       'is_damaged': False,
       'is_operable': True,
       'is_vat_deductible': False,
       'is_vat_included': False,
       'link_to_web_offer': 'https://vpauto.fr/vehicule/26205ac0e5/skoda-octavia',
       'listing': 'auction',
       'location': '69 - LYON',
       'make': 'SKODA',
       'model': 'OCTAVIA',
       'odometer': None,
       'odometer_reading_unit': 'km',
       'origin_country_code': 'FR',
       'original_photo_count': 0,
       'price': 300,
       'price_includes_vat': True,
       'registration_date': '2025-04-17',
       'seats_number': 5,
       'seller_name': None,
       'title': 'SKODA OCTAVIA',
       'transmission': 'automatic',
       'trim': 'OCTAVIA',
       'year': 2025}
      Traceback (most recent call last):
        File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
          current.result = callback(  # type: ignore[misc]
        File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
          return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
        File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
          raise e
        File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
          response.raise_for_status()
        File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
          raise HTTPError(http_error_msg, response=self)
      requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
      2026-03-29 12:09:12 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id f8862adb-1f3a-56de-9763-8cd9bb833703: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
       | Status Code: 400
       | Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022DACIA Sandero SCe 75 Essentiel\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 990000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022DACIA\u0022, \u0022Model\u0022: \u0022Sandero SCe 75 Essentiel\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222020-02-24\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/17957308e5/dacia-sandero-sce-75-essentiel\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002269 - LYON\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Sandero SCe 75 Essentiel\u0022, \u0022Year\u0022: 2020, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 112, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022f8862adb-1f3a-56de-9763-8cd9bb833703\u0022}"}
       | Response Headers: {'Content-Type': 'application/json', 'Date': 'Sun, 29 Mar 2026 12:09:11 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
      
      2026-03-29 12:09:12 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
      Traceback (most recent call last):
        File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
          response.raise_for_status()
        File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
          raise HTTPError(http_error_msg, response=self)
      requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
      2026-03-29 12:09:12 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
       'c_o_2_emission_value': 112,
       'car_expert_report_source_url': None,
       'category': None,
       'color': 'Unknown',
       'currency': 'EUR',
       'doors_number': 5,
       'emission_standard': 'EURO 6',
       'engine': '',
       'expiration_date': None,
       'fuel_type': 'Petrol',
       'id': 'f8862adb-1f3a-56de-9763-8cd9bb833703',
       'is_damaged': False,
       'is_operable': True,
       'is_vat_deductible': True,
       'is_vat_included': True,
       'link_to_web_offer': 'https://vpauto.fr/vehicule/17957308e5/dacia-sandero-sce-75-essentiel',
       'listing': 'auction',
       'location': '69 - LYON',
       'make': 'DACIA',
       'model': 'Sandero SCe 75 Essentiel',
       'odometer': None,
       'odometer_reading_unit': 'km',
       'origin_country_code': 'FR',
       'original_photo_count': 0,
       'price': 9900,
       'price_includes_vat': True,
       'registration_date': '2020-02-24',
       'seats_number': 5,
       'seller_name': None,
       'title': 'DACIA Sandero SCe 75 Essentiel',
       'transmission': 'manual',
       'trim': 'Sandero SCe 75 Essentiel',
       'year': 2020}
      Traceback (most recent call last):
        File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
          current.result = callback(  # type: ignore[misc]
        File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
          return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
        File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
          raise e
        File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
          response.raise_for_status()
        File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
          raise HTTPError(http_error_msg, response=self)
      requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
      2026-03-29 12:11:01 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 98792193-f8fb-5bbc-9b22-a70bf2ad5bb8: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
       | Status Code: 400
       | Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022White\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022FIAT 500 Hybrid 1.0 70 BSG S\u0026S Dolcevita\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 30000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022FIAT\u0022, \u0022Model\u0022: \u0022500 Hybrid 1.0 70 BSG S\u0026S Dolcevita\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u00221.0L\u0022, \u0022FuelType\u0022: \u0022Hybrid\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-10-31\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/5010824d3a/fiat-500-hybrid-10-70-bsg-ss-dolcevita\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002213 - MARSEILLE\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022500 Hybrid 1.0 70 BSG S\u0026S Dolcevita\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 4, \u0022DoorsNumber\u0022: 3, \u0022CO2EmissionValue\u0022: 106, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u002298792193-f8fb-5bbc-9b22-a70bf2ad5bb8\u0022}"}
       | Response Headers: {'Content-Type': 'application/json', 'Date': 'Sun, 29 Mar 2026 12:11:01 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
      
      2026-03-29 12:11:01 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
      Traceback (most recent call last):
        File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
          response.raise_for_status()
        File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
          raise HTTPError(http_error_msg, response=self)
      requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
      2026-03-29 12:11:01 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
       'c_o_2_emission_value': 106,
       'car_expert_report_source_url': None,
       'category': None,
       'color': 'White',
       'currency': 'EUR',
       'doors_number': 3,
       'emission_standard': 'EURO 6',
       'engine': '1.0L',
       'expiration_date': None,
       'fuel_type': 'Hybrid',
       'id': '98792193-f8fb-5bbc-9b22-a70bf2ad5bb8',
       'is_damaged': False,
       'is_operable': True,
       'is_vat_deductible': False,
       'is_vat_included': False,
       'link_to_web_offer': 'https://vpauto.fr/vehicule/5010824d3a/fiat-500-hybrid-10-70-bsg-ss-dolcevita',
       'listing': 'auction',
       'location': '13 - MARSEILLE',
       'make': 'FIAT',
       'model': '500 Hybrid 1.0 70 BSG S&S Dolcevita',
       'odometer': None,
       'odometer_reading_unit': 'km',
       'origin_country_code': 'FR',
       'original_photo_count': 0,
       'price': 300,
       'price_includes_vat': True,
       'registration_date': '2022-10-31',
       'seats_number': 4,
       'seller_name': None,
       'title': 'FIAT 500 Hybrid 1.0 70 BSG S&S Dolcevita',
       'transmission': 'automatic',
       'trim': '500 Hybrid 1.0 70 BSG S&S Dolcevita',
       'year': 2022}
      Traceback (most recent call last):
        File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
          current.result = callback(  # type: ignore[misc]
        File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
          return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
        File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
          raise e
        File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
          response.raise_for_status()
        File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
          raise HTTPError(http_error_msg, response=self)
      requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
      2026-03-29 12:18:35 [asyncio] ERROR: Unclosed client session
      client_session: <aiohttp.client.ClientSession object at 0x7fa04d345dd0>
      2026-03-29 12:18:35 [asyncio] ERROR: Unclosed client session
      client_session: <aiohttp.client.ClientSession object at 0x7fa04d346510>

      INFO

      DEBUG

    • scrapy_version

      2.11.2
    • telnet_console

      127.0.0.1:6023
    • telnet_password

      fa3bfe946362c1c9
    • latest_crawl

      2026-03-29 12:18:34 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://vpauto.eu/vehicle/bd85fb8cb1/renault-espace-blue-dci-160-edc-initiale-paris-edc-4-control> (referer: https://vpauto.eu/vehicle/list?page=3) ['zyte-api']
    • latest_scrape

      2026-03-29 12:18:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vpauto.eu/vehicle/bd85fb8cb1/renault-espace-blue-dci-160-edc-initiale-paris-edc-4-control>
    • latest_stat

      2026-03-29 12:18:06 [scrapy.extensions.logstats] INFO: Crawled 520 pages (at 19 pages/min), scraped 495 items (at 19 items/min)
    • Head

      2026-03-29 12:00:05 [scrapy.utils.log] INFO: Scrapy 2.11.2 started (bot: SourcingV2)
      2026-03-29 12:00:05 [scrapy.utils.log] INFO: Versions: lxml 5.2.2.0, libxml2 2.12.6, cssselect 1.2.0, parsel 1.9.1, w3lib 2.1.2, Twisted 24.3.0, Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0], pyOpenSSL 24.1.0 (OpenSSL 3.2.1 30 Jan 2024), cryptography 42.0.7, Platform Linux-5.15.0-1098-azure-x86_64-with-glibc2.36
      2026-03-29 12:00:05 [vpauto.fr] INFO: Starting spider vpauto.fr
      2026-03-29 12:00:05 [scrapy.addons] INFO: Enabled addons:
      []
      2026-03-29 12:00:05 [asyncio] DEBUG: Using selector: EpollSelector
      2026-03-29 12:00:05 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor
      2026-03-29 12:00:05 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop
      2026-03-29 12:00:05 [scrapy.extensions.telnet] INFO: Telnet Password: fa3bfe946362c1c9
      2026-03-29 12:00:06 [scrapy.middleware] INFO: Enabled extensions:
      ['scrapy.extensions.corestats.CoreStats',
       'scrapy.extensions.telnet.TelnetConsole',
       'scrapy.extensions.memusage.MemoryUsage',
       'scrapy.extensions.feedexport.FeedExporter',
       'scrapy.extensions.logstats.LogStats',
       'scrapy.extensions.closespider.CloseSpider']
      2026-03-29 12:00:06 [scrapy.crawler] INFO: Overridden settings:
      {'BOT_NAME': 'SourcingV2',
       'CLOSESPIDER_TIMEOUT': 7200,
       'DOWNLOAD_MAXSIZE': 52428800,
       'DOWNLOAD_WARNSIZE': 10485760,
       'FEED_EXPORT_ENCODING': 'utf-8',
       'LOG_FILE': '/var/log/scrapyd/logs/sourcing_v2/vpauto.fr/task_20_2026-03-29T12_00_00.log',
       'LOG_FORMATTER': 'crawlers.log_formatter.SourcingLogFormatter',
       'MEMUSAGE_LIMIT_MB': 2048,
       'MEMUSAGE_WARNING_MB': 1536,
       'NEWSPIDER_MODULE': 'spiders',
       'REQUEST_FINGERPRINTER_CLASS': 'scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter',
       'REQUEST_FINGERPRINTER_IMPLEMENTATION': '2.7',
       'SPIDER_MODULES': ['spiders', 'auth_check'],
       'TWISTED_REACTOR': 'twisted.internet.asyncioreactor.AsyncioSelectorReactor',
       'USER_AGENT': ''}
      2026-03-29 12:00:06 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with '5857011'
      2026-03-29 12:00:06 [scrapy_zyte_api.handler] INFO: Using a Zyte API key starting with '5857011'
      2026-03-29 12:00:06 [scrapy.middleware] INFO: Enabled downloader middlewares:
      ['scrapy.downloadermiddlewares.offsite.OffsiteMiddleware',
       'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware',
       'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware',
       'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware',
       'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware',
       'scrapy_zyte_api.ScrapyZyteAPIDownloaderMiddleware',
       'scrapy.downloadermiddlewares.retry.RetryMiddleware',
       'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware',
       'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware',
       'scrapy.downloadermiddlewares.redirect.RedirectMiddleware',
       'scrapy.downloadermiddlewares.cookies.CookiesMiddleware',
       'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware',
       'scrapy.downloadermiddlewares.stats.DownloaderStats']
      2026-03-29 12:00:06 [crawlers.middlewares.id_gen_middleware] INFO: Setting up IdGenerationMiddleware
      2026-03-29 12:00:06 [scrapy.middleware] INFO: Enabled spider middlewares:
      ['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
       'scrapy_zyte_api.ScrapyZyteAPISpiderMiddleware',
       'crawlers.middlewares.monitoring_spider_middleware.MonitoringSpiderMiddleware',
       'scrapy.spidermiddlewares.referer.RefererMiddleware',
       'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
       'scrapy.spidermiddlewares.depth.DepthMiddleware',
       'crawlers.middlewares.photo_download_middleware.PhotoDownloadMiddleware',
       'crawlers.middlewares.report_download_middleware.ReportDownloadMiddleware',
       'crawlers.middlewares.id_gen_middleware.IdGenMiddleware']
      2026-03-29 12:00:06 [azure.identity._credentials.environment] INFO: Incomplete environment configuration for EnvironmentCredential. These variables are set: AZURE_TENANT_ID, AZURE_CLIENT_ID
      2026-03-29 12:00:06 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): login.microsoftonline.com:443
      2026-03-29 12:00:06 [urllib3.connectionpool] DEBUG: https://login.microsoftonline.com:443 "POST /8ea908c1-4e85-4692-bc3f-3646b9b40891/oauth2/v2.0/token HTTP/1.1" 200 2115
      2026-03-29 12:00:06 [azure.identity._credentials.chained] INFO: DefaultAzureCredential acquired a token from WorkloadIdentityCredential
      2026-03-29 12:00:06 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): alxsourcingstorageprod.table.core.windows.net:443
      2026-03-29 12:00:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
      2026-03-29 12:00:06 [crawlers.pipelines.translation_pipeline] INFO: Loading translations for language: en
      2026-03-29 12:00:06 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /Translations()?$filter=PartitionKey%20eq%20%27en%27%20and%20RowKey%20eq%20%27en%27 HTTP/1.1" 200 None
      2026-03-29 12:00:06 [crawlers.pipelines.item_rules_pipeline] INFO: Setting up ItemRules Pipeline
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: invalid_location_for_country.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: damaged_cars_from_auction_title.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: puretech_for_country.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: puretech_for_fr.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: missing_photos.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: damaged_from_info.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: makes_not_allowed.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: not_operable_from_info.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: makes_models_not_allowed.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: keywords_from_title.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: imported_cars.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: invalid_currency.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: missing_mileage.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: keywords_from_auction_title.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: invalid_country_of_origin.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: puretech_for_pt.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: electric_cars.json
      2026-03-29 12:00:06 [crawlers.filter_rules.rules_loader] INFO: Loaded rule: missing_color.json
      2026-03-29 12:00:06 [crawlers.pipelines.post_to_api] INFO: Setting up PostToApi Pipeline pointing to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
      2026-03-29 12:00:06 [scrapy.middleware] INFO: Enabled item pipelines:
      ['crawlers.pipelines.translation_pipeline.TranslationPipeline',
       'crawlers.pipelines.item_rules_pipeline.ItemRulesPipeline',
       'crawlers.pipelines.post_to_api.PostToApiPipeline']
      2026-03-29 12:00:06 [scrapy.core.engine] INFO: Spider opened
      2026-03-29 12:00:06 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
      2026-03-29 12:00:06 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
      2026-03-29 12:00:06 [scrapy.extensions.memusage] INFO: Peak memory usage is 140MiB
      2026-03-29 12:00:06 [scrapy-playwright] INFO: Starting download handler
      2026-03-29 12:00:06 [scrapy-playwright] INFO: Starting download handler
      2026-03-29 12:00:11 [vpauto.fr] INFO: Requesting listing page 1: https://vpauto.eu/vehicle/list?page=1
      
      2026-03-29 12:00:11 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 1st time calling it.
      2026-03-29 12:00:13 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://vpauto.eu/vehicle/list?page=1> (referer: None) ['zyte-api']
    • Tail

       'color': 'White',
       'currency': 'EUR',
       'doors_number': 5,
       'emission_standard': 'EURO 6',
       'engine': '',
       'expiration_date': '2026-03-30T09:59:00Z',
       'fuel_type': 'LPG / Petrol',
       'id': '5fac79e9-d8ae-5134-9ace-417ff6d02b1e',
       'is_damaged': False,
       'is_operable': True,
       'is_vat_deductible': True,
       'is_vat_included': True,
       'link_to_web_offer': 'https://vpauto.fr/vehicule/3fd80024b1/dacia-sandero-eco-g-100-stepway-confort',
       'listing': 'auction',
       'location': '76 - ROUEN',
       'make': 'DACIA',
       'model': 'Sandero ECO-G 100 Stepway Confort',
       'odometer': 54257,
       'odometer_reading_unit': 'km',
       'origin_country_code': 'FR',
       'original_photo_count': 0,
       'price': 8300,
       'price_includes_vat': True,
       'registration_date': '2022-09-29',
       'seats_number': 5,
       'seller_name': None,
       'title': 'DACIA Sandero ECO-G 100 Stepway Confort',
       'transmission': 'manual',
       'trim': 'Sandero ECO-G 100 Stepway Confort',
       'year': 2022}
      2026-03-29 12:17:59 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
      2026-03-29 12:17:59 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27vpauto.fr%27%20and%20RowKey%20eq%20%273fd80024b1%27 HTTP/1.1" 200 None
      2026-03-29 12:17:59 [vpauto.fr] INFO: Saving data for 3fd80024b1: {'auction_closing_time': 1774864740.0, 'created_time': 1774256870.246582, 'last_price_update_time': 1774786679.932405}
      2026-03-29 12:17:59 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
      2026-03-29 12:17:59 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='vpauto.fr',RowKey='3fd80024b1') HTTP/1.1" 204 0
      2026-03-29 12:18:00 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 2nd time calling it.
      2026-03-29 12:18:01 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://vpauto.eu/vehicle/d872ab81f8/peugeot-2008-bluehdi-110-ss-bvm6-active-pack> (referer: https://vpauto.eu/vehicle/list?page=3) ['zyte-api']
      2026-03-29 12:18:01 [crawlers.middlewares.id_gen_middleware] INFO: Generated ID for item: 8bb87a2d-a43e-56d7-ae92-7ae896099908 with identifier: d872ab81f8
      2026-03-29 12:18:01 [crawlers.middlewares.report_download_middleware] INFO: Skipping car_expert_report download for item 8bb87a2d-a43e-56d7-ae92-7ae896099908 with scrape type 2
      2026-03-29 12:18:01 [crawlers.middlewares.photo_download_middleware] INFO: Skipping photo download for item 8bb87a2d-a43e-56d7-ae92-7ae896099908 with scrape type 2
      2026-03-29 12:18:01 [crawlers.middlewares.monitoring_spider_middleware] INFO: Spider: vpauto.fr, Processed item id: 8bb87a2d-a43e-56d7-ae92-7ae896099908, identifier: d872ab81f8
      2026-03-29 12:18:01 [crawlers.pipelines.translation_pipeline] INFO: Spider: vpauto.fr, Translating item: 8bb87a2d-a43e-56d7-ae92-7ae896099908 with identifier: d872ab81f8
      2026-03-29 12:18:01 [crawlers.pipelines.item_rules_pipeline] INFO: Spider: vpauto.fr, Applying rules to item: 8bb87a2d-a43e-56d7-ae92-7ae896099908 with identifier: d872ab81f8
      2026-03-29 12:18:01 [crawlers.pipelines.post_to_api] INFO: Spider: vpauto.fr, Posting item: 8bb87a2d-a43e-56d7-ae92-7ae896099908 with identifier: d872ab81f8 to the API
      2026-03-29 12:18:01 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): api.app.infinit.cc:443
      2026-03-29 12:18:02 [urllib3.connectionpool] DEBUG: https://api.app.infinit.cc:443 "POST /api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing HTTP/1.1" 200 None
      2026-03-29 12:18:02 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vpauto.eu/vehicle/d872ab81f8/peugeot-2008-bluehdi-110-ss-bvm6-active-pack>
      {'auction_title': '',
       'c_o_2_emission_value': 116,
       'car_expert_report_source_url': None,
       'category': None,
       'color': 'White',
       'currency': 'EUR',
       'doors_number': 5,
       'emission_standard': 'EURO 6',
       'engine': '',
       'expiration_date': '2026-03-30T13:30:00Z',
       'fuel_type': 'Diesel',
       'id': '8bb87a2d-a43e-56d7-ae92-7ae896099908',
       'is_damaged': False,
       'is_operable': True,
       'is_vat_deductible': True,
       'is_vat_included': True,
       'link_to_web_offer': 'https://vpauto.fr/vehicule/d872ab81f8/peugeot-2008-bluehdi-110-ss-bvm6-active-pack',
       'listing': 'auction',
       'location': '56 - LORIENT',
       'make': 'PEUGEOT',
       'model': '2008 BlueHDi 110 S&S BVM6 Active Pack',
       'odometer': 158837,
       'odometer_reading_unit': 'km',
       'origin_country_code': 'FR',
       'original_photo_count': 0,
       'price': 8600,
       'price_includes_vat': True,
       'registration_date': '2022-01-12',
       'seats_number': 5,
       'seller_name': None,
       'title': 'PEUGEOT 2008 BlueHDi 110 S&S BVM6 Active Pack',
       'transmission': 'manual',
       'trim': '2008 BlueHDi 110 S&S BVM6 Active Pack',
       'year': 2022}
      2026-03-29 12:18:02 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
      2026-03-29 12:18:02 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27vpauto.fr%27%20and%20RowKey%20eq%20%27d872ab81f8%27 HTTP/1.1" 200 None
      2026-03-29 12:18:02 [vpauto.fr] INFO: Saving data for d872ab81f8: {'auction_closing_time': 1774877400.0, 'created_time': 1773860777.307319, 'last_price_update_time': 1774786682.177862}
      2026-03-29 12:18:02 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
      2026-03-29 12:18:02 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='vpauto.fr',RowKey='d872ab81f8') HTTP/1.1" 204 0
      2026-03-29 12:18:06 [scrapy.extensions.logstats] INFO: Crawled 520 pages (at 19 pages/min), scraped 495 items (at 19 items/min)
      
      2026-03-29 12:18:06 [scrapy.extensions.memusage] INFO: Peak memory usage is 215MiB
      2026-03-29 12:18:26 [zyte_api._retry] DEBUG: Finished call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request' after 129.448(s), this was the 1st time calling it.
      
      2026-03-29 12:18:26 [zyte_api._retry] DEBUG: Retrying zyte_api._async.AsyncZyteAPI.get.<locals>.request in 6.776347712039642 seconds as it raised ClientConnectorError: Cannot connect to host api.zyte.com:443 ssl:default [Connect call failed ('69.41.180.81', 443)].
      2026-03-29 12:18:33 [zyte_api._retry] DEBUG: Starting call to 'zyte_api._async.AsyncZyteAPI.get.<locals>.request', this is the 2nd time calling it.
      2026-03-29 12:18:34 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://vpauto.eu/vehicle/bd85fb8cb1/renault-espace-blue-dci-160-edc-initiale-paris-edc-4-control> (referer: https://vpauto.eu/vehicle/list?page=3) ['zyte-api']
      2026-03-29 12:18:34 [crawlers.middlewares.id_gen_middleware] INFO: Generated ID for item: a724c2cf-17b8-5121-8c01-676a5f4a3a07 with identifier: bd85fb8cb1
      2026-03-29 12:18:34 [crawlers.middlewares.report_download_middleware] INFO: Skipping car_expert_report download for item a724c2cf-17b8-5121-8c01-676a5f4a3a07 with scrape type 2
      2026-03-29 12:18:34 [crawlers.middlewares.photo_download_middleware] INFO: Skipping photo download for item a724c2cf-17b8-5121-8c01-676a5f4a3a07 with scrape type 2
      2026-03-29 12:18:34 [crawlers.middlewares.monitoring_spider_middleware] INFO: Spider: vpauto.fr, Processed item id: a724c2cf-17b8-5121-8c01-676a5f4a3a07, identifier: bd85fb8cb1
      2026-03-29 12:18:34 [crawlers.pipelines.translation_pipeline] INFO: Spider: vpauto.fr, Translating item: a724c2cf-17b8-5121-8c01-676a5f4a3a07 with identifier: bd85fb8cb1
      2026-03-29 12:18:34 [crawlers.pipelines.item_rules_pipeline] INFO: Spider: vpauto.fr, Applying rules to item: a724c2cf-17b8-5121-8c01-676a5f4a3a07 with identifier: bd85fb8cb1
      2026-03-29 12:18:34 [crawlers.pipelines.post_to_api] INFO: Spider: vpauto.fr, Posting item: a724c2cf-17b8-5121-8c01-676a5f4a3a07 with identifier: bd85fb8cb1 to the API
      2026-03-29 12:18:34 [urllib3.connectionpool] DEBUG: Starting new HTTPS connection (1): api.app.infinit.cc:443
      2026-03-29 12:18:34 [urllib3.connectionpool] DEBUG: https://api.app.infinit.cc:443 "POST /api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing HTTP/1.1" 200 None
      2026-03-29 12:18:35 [scrapy.core.scraper] DEBUG: Scraped from <200 https://vpauto.eu/vehicle/bd85fb8cb1/renault-espace-blue-dci-160-edc-initiale-paris-edc-4-control>
      {'auction_title': '',
       'c_o_2_emission_value': 120,
       'car_expert_report_source_url': None,
       'category': None,
       'color': 'Medium grey metallic',
       'currency': 'EUR',
       'doors_number': 5,
       'emission_standard': 'EURO 6',
       'engine': '',
       'expiration_date': '2026-03-30T09:59:00Z',
       'fuel_type': 'Diesel',
       'id': 'a724c2cf-17b8-5121-8c01-676a5f4a3a07',
       'is_damaged': False,
       'is_operable': True,
       'is_vat_deductible': False,
       'is_vat_included': False,
       'link_to_web_offer': 'https://vpauto.fr/vehicule/bd85fb8cb1/renault-espace-blue-dci-160-edc-initiale-paris-edc-4-control',
       'listing': 'auction',
       'location': '76 - ROUEN',
       'make': 'RENAULT',
       'model': 'Espace Blue dCi 160 EDC Initiale Paris EDC 4 Control',
       'odometer': 191852,
       'odometer_reading_unit': 'km',
       'origin_country_code': 'FR',
       'original_photo_count': 0,
       'price': 7600,
       'price_includes_vat': True,
       'registration_date': '2015-09-11',
       'seats_number': 5,
       'seller_name': None,
       'title': 'RENAULT Espace Blue dCi 160 EDC Initiale Paris EDC 4 Control',
       'transmission': 'automatic',
       'trim': 'Espace Blue dCi 160 EDC Initiale Paris EDC 4 Control',
       'year': 2015}
      2026-03-29 12:18:35 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
      2026-03-29 12:18:35 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27vpauto.fr%27%20and%20RowKey%20eq%20%27bd85fb8cb1%27 HTTP/1.1" 200 None
      2026-03-29 12:18:35 [vpauto.fr] INFO: Saving data for bd85fb8cb1: {'auction_closing_time': 1774864740.0, 'created_time': 1774256922.76479, 'last_price_update_time': 1774786715.08425}
      2026-03-29 12:18:35 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
      2026-03-29 12:18:35 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "PATCH /ScrapedListings(PartitionKey='vpauto.fr',RowKey='bd85fb8cb1') HTTP/1.1" 204 0
      2026-03-29 12:18:35 [scrapy.core.engine] INFO: Closing spider (finished)
      2026-03-29 12:18:35 [vpauto.fr] INFO: vpauto.fr Crawl ended with reason finished, scrape types: {<ScrapeType.NEW: 1>: -1, <ScrapeType.NEW_DUPLICATE_ID: 4>: 1, <ScrapeType.PRICE_UPDATE: 2>: 0, <ScrapeType.AUCTION_UPDATE: 3>: 0, <ScrapeType.SKIPPED: 0>: 0, <ScrapeType.BATCH_SKIPPED: 5>: 0}
      2026-03-29 12:18:35 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "POST /Tables HTTP/1.1" 409 None
      2026-03-29 12:18:35 [urllib3.connectionpool] DEBUG: https://alxsourcingstorageprod.table.core.windows.net:443 "GET /ScrapedListings()?$filter=PartitionKey%20eq%20%27vpauto.fr%27%20and%20last_price_update_time%20lt%201774354715 HTTP/1.1" 200 None
      2026-03-29 12:18:35 [scrapy.extensions.feedexport] INFO: Stored jsonlines feed (496 items) in: file:///var/lib/scrapyd/items/sourcing_v2/vpauto.fr/task_20_2026-03-29T12_00_00.jl
      2026-03-29 12:18:35 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
      {'downloader/request_bytes': 168846,
       'downloader/request_count': 521,
       'downloader/request_method_count/GET': 521,
       'downloader/response_bytes': 86609195,
       'downloader/response_count': 521,
       'downloader/response_status_count/200': 521,
       'elapsed_time_seconds': 1108.861875,
       'feedexport/success_count/FileFeedStorage': 1,
       'finish_reason': 'finished',
       'finish_time': datetime.datetime(2026, 3, 29, 12, 18, 35, 437486, tzinfo=datetime.timezone.utc),
       'item_scraped_count': 496,
       'log_count/DEBUG': 6888,
       'log_count/ERROR': 37,
       'log_count/INFO': 6357,
       'memusage/max': 225615872,
       'memusage/startup': 147787776,
       'request_depth_max': 11,
       'response_received_count': 521,
       'scheduler/dequeued': 521,
       'scheduler/dequeued/memory': 521,
       'scheduler/enqueued': 521,
       'scheduler/enqueued/memory': 521,
       'scrape_type/new': -1,
       'scrape_type/new_duplicate_id': 1,
       'scrape_type/price_update': 509,
       'scrape_type/skipped': 547,
       'scrapy-zyte-api/429': 0,
       'scrapy-zyte-api/attempts': 547,
       'scrapy-zyte-api/error_ratio': 0.04753199268738574,
       'scrapy-zyte-api/errors': 26,
       "scrapy-zyte-api/exception_types/<class 'aiohttp.client_exceptions.ClientConnectorError'>": 26,
       'scrapy-zyte-api/fatal_errors': 0,
       'scrapy-zyte-api/mean_connection_seconds': 9.351184195854957,
       'scrapy-zyte-api/mean_response_seconds': 9.469691209359205,
       'scrapy-zyte-api/processed': 521,
       'scrapy-zyte-api/request_args/customHttpRequestHeaders': 520,
       'scrapy-zyte-api/request_args/experimental.requestCookies': 520,
       'scrapy-zyte-api/request_args/experimental.responseCookies': 521,
       'scrapy-zyte-api/request_args/httpResponseBody': 521,
       'scrapy-zyte-api/request_args/httpResponseHeaders': 521,
       'scrapy-zyte-api/request_args/sessionContext': 521,
       'scrapy-zyte-api/request_args/url': 521,
       'scrapy-zyte-api/status_codes/0': 26,
       'scrapy-zyte-api/status_codes/200': 521,
       'scrapy-zyte-api/success': 521,
       'scrapy-zyte-api/success_ratio': 1.0,
       'scrapy-zyte-api/throttle_ratio': 0.0,
       'start_time': datetime.datetime(2026, 3, 29, 12, 0, 6, 575611, tzinfo=datetime.timezone.utc)}
      2026-03-29 12:18:35 [scrapy.core.engine] INFO: Spider closed (finished)
      2026-03-29 12:18:35 [asyncio] ERROR: Unclosed client session
      client_session: <aiohttp.client.ClientSession object at 0x7fa04d345dd0>
      2026-03-29 12:18:35 [asyncio] ERROR: Unclosed client session
      client_session: <aiohttp.client.ClientSession object at 0x7fa04d346510>
      
    • Log

      /3/log/utf8/sourcing_v2/vpauto.fr/task_20_2026-03-29T12_00_00/?job_finished=True

    • Source

      http://scrapyd-2:6800/logs/sourcing_v2/vpauto.fr/task_20_2026-03-29T12_00_00.log

  • sourcelog
    last_update_time2026-03-29 12:18:35
    last_update_timestamp1774786715
    downloader/request_bytes168846
    downloader/request_count521
    downloader/request_method_count/GET521
    downloader/response_bytes86609195
    downloader/response_count521
    downloader/response_status_count/200521
    elapsed_time_seconds1108.861875
    feedexport/success_count/FileFeedStorage1
    finish_reasonfinished
    finish_timedatetime.datetime(2026, 3, 29, 12, 18, 35, 437486, tzinfo=datetime.timezone.utc)
    item_scraped_count496
    log_count/DEBUG6888
    log_count/ERROR37
    log_count/INFO6357
    memusage/max225615872
    memusage/startup147787776
    request_depth_max11
    response_received_count521
    scheduler/dequeued521
    scheduler/dequeued/memory521
    scheduler/enqueued521
    scheduler/enqueued/memory521
    scrape_type/new-1
    scrape_type/new_duplicate_id1
    scrape_type/price_update509
    scrape_type/skipped547
    scrapy-zyte-api/4290
    scrapy-zyte-api/attempts547
    scrapy-zyte-api/error_ratio0.04753199268738574
    scrapy-zyte-api/errors26
    scrapy-zyte-api/exception_types/<class _aiohttp.client_exceptions.ClientConnectorError_>26
    scrapy-zyte-api/fatal_errors0
    scrapy-zyte-api/mean_connection_seconds9.351184195854957
    scrapy-zyte-api/mean_response_seconds9.469691209359205
    scrapy-zyte-api/processed521
    scrapy-zyte-api/request_args/customHttpRequestHeaders520
    scrapy-zyte-api/request_args/experimental.requestCookies520
    scrapy-zyte-api/request_args/experimental.responseCookies521
    scrapy-zyte-api/request_args/httpResponseBody521
    scrapy-zyte-api/request_args/httpResponseHeaders521
    scrapy-zyte-api/request_args/sessionContext521
    scrapy-zyte-api/request_args/url521
    scrapy-zyte-api/status_codes/026
    scrapy-zyte-api/status_codes/200521
    scrapy-zyte-api/success521
    scrapy-zyte-api/success_ratio1.0
    scrapy-zyte-api/throttle_ratio0.0
    start_timedatetime.datetime(2026, 3, 29, 12, 0, 6, 575611, tzinfo=datetime.timezone.utc)