Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

failed at task download-video #353

Closed
c-hri-s opened this issue Jan 12, 2024 · 24 comments
Closed

failed at task download-video #353

c-hri-s opened this issue Jan 12, 2024 · 24 comments

Comments

@c-hri-s
Copy link

c-hri-s commented Jan 12, 2024

Running :latest, on long live streams I have seen errors which hang the processing of the video.

Today I received notification of this error:

⚠️ Error: Queue ID 95e00ab2-9e94-451c-9aab-97bb9efe36d5 for DJCquence failed at task download-video.

Despite this the video seemed to continue downloading, just the tasks were killed.

Here's the video log:

[cli][info] Found matching plugin twitch for URL https://twitch.tv/djcquence
[cli][info] Available streams: audio_only, 160p (worst), 360p, 480p, 720p, 1080p (best)
[cli][info] Opening stream: 1080p (hls)
[cli][info] Writing output to
/tmp/43396011819_2e90fd62-b131-11ee-a368-0242ac1c0004-video.mp4
[plugins.twitch][info] Low latency streaming (HLS live edge: 2)

[download] Written 1.12 MiB to …0fd62-b131-11ee-a368-0242ac1c0004-video.mp4 (0s)
[download] Written 1.37 MiB to …0fd62-b131-11ee-a368-0242ac1c0004-video.mp4 (0s)
[download] Written 1.47 MiB to …0fd62-b131-11ee-a368-0242ac1c0004-video.mp4 (0s)
[download] Written 1.59 MiB to …0fd62-b131-11ee-a368-0242ac1c0004-video.mp4 (1s)
[download] Written 1.73 MiB to …0fd62-b131-11ee-a368-0242ac1c0004-video.mp4 (1s)
[download] Written 1.91 MiB to …0fd62-b131-11ee-a368-0242ac1c0004-video.mp4 (1s)

[...]

[download] Written 1.08 GiB to …8-0242ac1c0004-video.mp4 (31m24s @ 618.12 KiB/s)
[download] Written 1.08 GiB to …8-0242ac1c0004-video.mp4 (31m24s @ 611.04 KiB/s)
[download] Written 1.08 GiB to …8-0242ac1c0004-video.mp4 (31m24s @ 608.40 KiB/s)
[download] Written 1.08 GiB to …8-0242ac1c0004-video.mp4 (31m25s @ 609.32 KiB/s)
[download] Written 1.08 GiB to …8-0242ac1c0004-video.mp4 (31m25s @ 613.45 KiB/s)
[download] Written 1.08 GiB to …8-0242ac1c0004-video.mp4 (31m25s @ 608.07 KiB/s)[stream.hls][error] Download of segment 964 failed: ("Connection broken: InvalidChunkLength(got length b'', 0 bytes read)", InvalidChunkLength(got length b'', 0 bytes read))

[download] Written 1.08 GiB to …8-0242ac1c0004-video.mp4 (31m25s @ 601.62 KiB/s)
[download] Written 1.08 GiB to …8-0242ac1c0004-video.mp4 (31m26s @ 593.33 KiB/s)
[download] Written 1.08 GiB to …8-0242ac1c0004-video.mp4 (31m26s @ 595.37 KiB/s)
[download] Written 1.08 GiB to …8-0242ac1c0004-video.mp4 (31m26s @ 587.51 KiB/s)
[download] Written 1.09 GiB to …8-0242ac1c0004-video.mp4 (31m26s @ 587.25 KiB/s)

[...]

[download] Written 11.35 GiB to …242ac1c0004-video.mp4 (5h27m41s @ 614.30 KiB/s)
[download] Written 11.35 GiB to …242ac1c0004-video.mp4 (5h27m41s @ 614.04 KiB/s)
[download] Written 11.35 GiB to …242ac1c0004-video.mp4 (5h27m42s @ 612.86 KiB/s)
[download] Written 11.35 GiB to …242ac1c0004-video.mp4 (5h27m42s @ 611.16 KiB/s)[stream.hls][error] Download of segment 9852 failed: ("Connection broken: InvalidChunkLength(got length b'', 0 bytes read)", InvalidChunkLength(got length b'', 0 bytes read))

[download] Written 11.35 GiB to …242ac1c0004-video.mp4 (5h27m42s @ 618.17 KiB/s)
[download] Written 11.35 GiB to …242ac1c0004-video.mp4 (5h27m42s @ 611.61 KiB/s)
[download] Written 11.35 GiB to …242ac1c0004-video.mp4 (5h27m43s @ 613.78 KiB/s)
[download] Written 11.35 GiB to …242ac1c0004-video.mp4 (5h27m43s @ 613.33 KiB/s)
[download] Written 11.35 GiB to …242ac1c0004-video.mp4 (5h27m43s @ 612.89 KiB/s)

[...]

[download] Written 12.50 GiB to …242ac1c0004-video.mp4 (6h00m50s @ 579.72 KiB/s)
[download] Written 12.50 GiB to …242ac1c0004-video.mp4 (6h00m50s @ 567.61 KiB/s)
[download] Written 12.50 GiB to …242ac1c0004-video.mp4 (6h00m50s @ 563.18 KiB/s)
[download] Written 12.50 GiB to …242ac1c0004-video.mp4 (6h00m51s @ 555.50 KiB/s)
[download] Written 12.50 GiB to …242ac1c0004-video.mp4 (6h00m51s @ 547.46 KiB/s)
[download] Written 12.50 GiB to …242ac1c0004-video.mp4 (6h00m51s @ 539.75 KiB/s)
[cli][info] Stream ended
[cli][info] Closing currently open stream...

The queue shows it as processing, but the 'video download' and 'chat download' tasks are still executing. It didn't move to the convert tasks.

The video file is in /tmp and never got moved to the regular archive folder.

In the workflows I see four failed tasks and a terminated task:

image

I assume the issue is the the temporary download error which kills the tasks.
Is there a way to be more tolerant of transient failures, or somehow add the ability to resume the conversion?

Thanks

@Zibbp
Copy link
Owner

Zibbp commented Jan 13, 2024

How long do you think the archive was running when this happened? Could you provide logs from the API container when the workflows failed, if possible?

@c-hri-s
Copy link
Author

c-hri-s commented Jan 13, 2024

The task terminated just over 3h31m after it started:

2024-01-12 09:58:53.917

workflow_execution_started_event_attributes

ArchiveTwitchLiveChatWorkflow

2

2024-01-12 09:58:54.053

workflow_task_scheduled_event_attributes

3

2024-01-12 09:58:54.216

workflow_task_started_event_attributes

4

2024-01-12 09:58:54.277

workflow_task_completed_event_attributes

5

2024-01-12 13:31:50.782

workflow_execution_terminated_event_attributes

I'm not sure how to go back in the api logs, are they logged to a file? If so, where - I couldn't find it in /logs?
The api log is huge as it's being spammed with this every 5-10 seconds:

2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN RecordActivityHeartbeat with error | 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN RecordActivityHeartbeat with error | ActivityID=9 ActivityType=DownloadTwitchLiveChat 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN RecordActivityHeartbeat with error | 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN RecordActivityHeartbeat with error | ActivityID=9 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN RecordActivityHeartbeat with error | 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN RecordActivityHeartbeat with error | ActivityID=9 ActivityType=DownloadTwitchLiveChat Attempt=1 Error=context canceled 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN RecordActivityHeartbeat with error | 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN RecordActivityHeartbeat with error | ActivityID=9 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN RecordActivityHeartbeat with error | 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z WRN 2024-01-13T07:25:08Z 2024-01-13T07:25:08Z

@Zibbp
Copy link
Owner

Zibbp commented Jan 16, 2024

I have some changes available on the :main image tag that should resolve the RecordActivityHeartbeat spamming. If you'd like to try that image and report back if this issue happens again, with logs from the API container that will help. Hopefully logs will be easier to get from the container when it's not being spammed.

I'm not sure how to go back in the api logs, are they logged to a file? If so, where - I couldn't find it in /logs?

If you're not pushing the logs to a central location, you'll be limited to the history of docker logs <container name>.

@c-hri-s
Copy link
Author

c-hri-s commented Jan 17, 2024

Thanks, have deployed that, will let you know

@c-hri-s
Copy link
Author

c-hri-s commented Jan 19, 2024

I had this happen again today, this time after about 1h40m of the stream (so it doesn't seem to be length-related).

Running :main for the api container, :latest for the rest

Here was the notification:

⚠️ Error: Queue ID 544bab57-c783-4066-a2fa-e5b01c3bff7c for DJCquence failed at task download-video.

api log:

2024-01-19T09:58:57Z DBG starting heartbeat download-livechat-43452066075 
2024-01-19T11:33:34Z WRN RecordActivityHeartbeat with error | ActivityID=5 ActivityType=DownloadTwitchLiveVideo Attempt=1 Error=context deadline exceeded Namespace=default RunID=315ca933-9c3f-466d-a801-5c30ff614198 TaskQueue=archive WorkerID=edfdde837e4b WorkflowID=485eb28f-9801-44b8-89f4-550d7ce288eb_5 WorkflowType=DownloadTwitchLiveVideoWorkflow
2024-01-19T11:33:35Z WRN RecordActivityHeartbeat with error | ActivityID=9 ActivityType=DownloadTwitchLiveChat Attempt=1 Error=context deadline exceeded Namespace=default RunID=dd559274-cbf1-4242-9cda-8c681401e49d TaskQueue=archive WorkerID=edfdde837e4b WorkflowID=6d6bc978-1638-4977-bec6-db1f0fec74a1_37 WorkflowType=DownloadTwitchLiveChatWorkflow
2024-01-19T11:34:09Z DBG Cached state staled, new task has unexpected events | Attempt=1 CachedPreviousStartedEventID=45 Namespace=default PreviousStartedEventID=45 RunID=6d6bc978-1638-4977-bec6-db1f0fec74a1 TaskFirstEventID=1 TaskQueue=archive TaskStartedEventID=53 WorkerID=edfdde837e4b WorkflowID=57707789-b6b1-11ee-83b6-0242ac1e0005
2024-01-19T11:34:09Z DBG Live chat archive workflow ID: 6d6bc978-1638-4977-bec6-db1f0fec74a1_32 
2024-01-19T11:34:09Z DBG Live chat workflow ID: 6d6bc978-1638-4977-bec6-db1f0fec74a1_37 
2024-01-19T11:34:34Z WRN RecordActivityHeartbeat with error | ActivityID=5 ActivityType=DownloadTwitchLiveVideo Attempt=1 Error=context canceled Namespace=default RunID=315ca933-9c3f-466d-a801-5c30ff614198 TaskQueue=archive WorkerID=edfdde837e4b WorkflowID=485eb28f-9801-44b8-89f4-550d7ce288eb_5 WorkflowType=DownloadTwitchLiveVideoWorkflow
2024-01-19T11:34:35Z WRN RecordActivityHeartbeat with error | ActivityID=9 ActivityType=DownloadTwitchLiveChat Attempt=1 Error=context canceled Namespace=default RunID=dd559274-cbf1-4242-9cda-8c681401e49d TaskQueue=archive WorkerID=edfdde837e4b WorkflowID=6d6bc978-1638-4977-bec6-db1f0fec74a1_37 WorkflowType=DownloadTwitchLiveChatWorkflow

The temporal processes have quit:

image

@Zibbp
Copy link
Owner

Zibbp commented Jan 20, 2024

Can you supply the full API logs when this error occurred?

@c-hri-s
Copy link
Author

c-hri-s commented Jan 20, 2024

ganymede-api.log

API log here

@c-hri-s
Copy link
Author

c-hri-s commented Jan 20, 2024

ganymede-temporal.log

Temporal log here

@c-hri-s
Copy link
Author

c-hri-s commented Jan 20, 2024

Error occurred around 2024-01-19 11:33

@Zibbp
Copy link
Owner

Zibbp commented Jan 20, 2024

The API logs appears to only have worker-related logs. Can you enable debug in the config and also provide the logs from the API service, along with the worker logs? They should both be logged to the same API container.

@c-hri-s
Copy link
Author

c-hri-s commented Jan 21, 2024

I'll turn debug on and let you know if/when it happens again.

The api logs I provided I collected with docker logs ganymede-api > ganymede-api.log - are there some others you'd like me to grab next time?

@Zibbp
Copy link
Owner

Zibbp commented Jan 21, 2024

Sorry, I forgot how few logs are printed when debug is not enabled. That commands works fine.

@Zibbp
Copy link
Owner

Zibbp commented Jan 25, 2024

@c-hri-s I deleted your message as your log contains your Twitch token.

Happened again today (same streamer, not sure if that's connected or just coincidence):

11:20 ⚠️ Error: Queue ID ac0f47a4-e882-4836-852b-08949ce9e984 for DJCquence failed at task download-video.

Logs attached (debug mode enabled for the api container). Hope they show something this time.

When the error notification was fired, does the video download still continue? If you view the failed workflow for the DownloadTwitchLiveVideoTask is there an error message there in one of the events? You may need to use the Temporal UI to see this.

I believe something is causing the streamlink download process to error out which causes the workflow to return a workflow error which basically stops the rest of the workflows. I can't confirm for sure unless you're able to find the exit reason in the workflow.

Repository owner deleted a comment from c-hri-s Jan 25, 2024
@c-hri-s
Copy link
Author

c-hri-s commented Jan 25, 2024

The video download continues to the end, the file stays in /tmp once it completes. I checked the segment of the video where the error occurred and it seemed okay.

I tidied things up last night so have lost the temporal logs. I'll check in the UI next time it happens and let you know.

@c-hri-s
Copy link
Author

c-hri-s commented Feb 2, 2024

I've had another failure and can access the temporalUI.

image

Not sure if these are any help (pulled from the failed tasks)

{
  "message": "activity error",
  "source": "GoSDK",
  "stackTrace": "",
  "encodedAttributes": null,
  "cause": {
    "message": "activity Heartbeat timeout",
    "source": "Server",
    "stackTrace": "",
    "encodedAttributes": null,
    "cause": null,
    "timeoutFailureInfo": {
      "timeoutType": "Heartbeat",
      "lastHeartbeatDetails": {
        "payloads": [
          "download-livevideo-40398759349"
        ]
      }
    }
  },
  "activityFailureInfo": {
    "scheduledEventId": "5",
    "startedEventId": "6",
    "identity": "",
    "activityType": {
      "name": "DownloadTwitchLiveVideo"
    },
    "activityId": "5",
    "retryState": "MaximumAttemptsReached"
  }
}
{
  "message": "child workflow execution error",
  "source": "GoSDK",
  "stackTrace": "",
  "encodedAttributes": null,
  "cause": {
    "message": "activity error",
    "source": "GoSDK",
    "stackTrace": "",
    "encodedAttributes": null,
    "cause": {
      "message": "activity Heartbeat timeout",
      "source": "Server",
      "stackTrace": "",
      "encodedAttributes": null,
      "cause": null,
      "timeoutFailureInfo": {
        "timeoutType": "Heartbeat",
        "lastHeartbeatDetails": {
          "payloads": [
            "download-livevideo-40398759349"
          ]
        }
      }
    },
    "activityFailureInfo": {
      "scheduledEventId": "5",
      "startedEventId": "6",
      "identity": "",
      "activityType": {
        "name": "DownloadTwitchLiveVideo"
      },
      "activityId": "5",
      "retryState": "MaximumAttemptsReached"
    }
  },
  "childWorkflowExecutionFailureInfo": {
    "namespace": "default",
    "workflowExecution": {
      "workflowId": "e618d80c-4a86-4313-a98c-e199b5aaa109_5",
      "runId": "3ffa51cb-9fdf-492f-a2e7-ab08e10021a3"
    },
    "workflowType": {
      "name": "DownloadTwitchLiveVideoWorkflow"
    },
    "initiatedEventId": "5",
    "startedEventId": "6",
    "retryState": "RetryPolicyNotSet"
  }
}
{
  "message": "child workflow execution error",
  "source": "GoSDK",
  "stackTrace": "",
  "encodedAttributes": null,
  "cause": {
    "message": "child workflow execution error",
    "source": "GoSDK",
    "stackTrace": "",
    "encodedAttributes": null,
    "cause": {
      "message": "activity error",
      "source": "GoSDK",
      "stackTrace": "",
      "encodedAttributes": null,
      "cause": {
        "message": "activity Heartbeat timeout",
        "source": "Server",
        "stackTrace": "",
        "encodedAttributes": null,
        "cause": null,
        "timeoutFailureInfo": {
          "timeoutType": "Heartbeat",
          "lastHeartbeatDetails": {
            "payloads": [
              "download-livevideo-40398759349"
            ]
          }
        }
      },
      "activityFailureInfo": {
        "scheduledEventId": "5",
        "startedEventId": "6",
        "identity": "",
        "activityType": {
          "name": "DownloadTwitchLiveVideo"
        },
        "activityId": "5",
        "retryState": "MaximumAttemptsReached"
      }
    },
    "childWorkflowExecutionFailureInfo": {
      "namespace": "default",
      "workflowExecution": {
        "workflowId": "e618d80c-4a86-4313-a98c-e199b5aaa109_5",
        "runId": "3ffa51cb-9fdf-492f-a2e7-ab08e10021a3"
      },
      "workflowType": {
        "name": "DownloadTwitchLiveVideoWorkflow"
      },
      "initiatedEventId": "5",
      "startedEventId": "6",
      "retryState": "RetryPolicyNotSet"
    }
  },
  "childWorkflowExecutionFailureInfo": {
    "namespace": "default",
    "workflowExecution": {
      "workflowId": "2147e4ea-eb8e-4693-ac06-c29fadb3f667_42",
      "runId": "e618d80c-4a86-4313-a98c-e199b5aaa109"
    },
    "workflowType": {
      "name": "ArchiveTwitchLiveVideoWorkflow"
    },
    "initiatedEventId": "42",
    "startedEventId": "43",
    "retryState": "RetryPolicyNotSet"
  }
}

@Zibbp
Copy link
Owner

Zibbp commented Feb 3, 2024

Something is causing the heartbeat to die which in turn causes an error in the live video archive. I don't kill the streamlink process when an error is detected...I probably should.

If you still have the API container logs from when this occurred (with debug enabled), can you post them if possible. Also, do you see a log similar to the following? If so, any think of interest near it?

stopping heartbeat download-livevideo-40398759349

@c-hri-s
Copy link
Author

c-hri-s commented Feb 3, 2024

ganymede-api.zip
ganymede-temporal.zip

Logs are attached - I couldn't see the message above in either of them.

In the workflow page the first failed task started at 2024/02/01 21:47:25 and terminated at 2024/02/02 01:05:31 to give you a timeframe to look at

@Zibbp
Copy link
Owner

Zibbp commented Feb 4, 2024

The temporal container logs make it seem like it's an issue with the sqlite database given the "context deadline exceeded" error. This error can mean a number of things but I'm guessing it's related to IO issues or the sqlite database itself. I've seen this error before in #339 on Synology devices. I'm using the "not-so-production dev CLI" to run the temporal server as it's simply easier and the more production version adds some complexity. I would like you to try the more production version though, to see if this helps at all. If you're willing, please follow the below instructions to temporarily swap over.

  1. Create a new directory and a new compose file with the following services
version: "3.5"
services:
  postgresql:
    container_name: temporal-postgresql
    environment:
      POSTGRES_PASSWORD: temporal
      POSTGRES_USER: temporal
    image: postgres:13
    volumes:
      - ./temporal_postgres:/var/lib/postgresql/data
  temporal:
    container_name: temporal
    depends_on:
      - postgresql
    environment:
      - DB=postgresql
      - DB_PORT=5432
      - POSTGRES_USER=temporal
      - POSTGRES_PWD=temporal
      - POSTGRES_SEEDS=postgresql
      - DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/development-sql.yaml
    image: temporalio/auto-setup:latest
    ports:
      - 7333:7233
    volumes:
      - ./dynamicconfig:/etc/temporal/config/dynamicconfig
  temporal-ui:
    container_name: temporal-ui
    depends_on:
      - temporal
    environment:
      - TEMPORAL_ADDRESS=temporal:7233
      - TEMPORAL_CORS_ORIGINS=http://localhost:3000
    image: temporalio/ui:latest
    ports:
      - 8028:8080
  1. Do not bring the services up yet, create a directory named dynamicconfig alongside the compose file.
  2. Inside the dynamicconfig directory, create a file named development-sql.yaml. Inside that file paste the following
limit.maxIDLength:
  - value: 255
    constraints: {}
system.forceSearchAttributesCacheRefreshOnRead:
  - value: true # Dev setup only. Please don't turn this on in production.
    constraints: {}
  1. Bring the containers up with docker compose up -d
  2. Navigate to <IP>:8082 and make sure the Web UI loads.

Now you need to update Ganymede to use this new Temporal instance. When you have no running archives, perform the following.

  1. Bring down Ganymede docker compose down
  2. Update the TEMPORAL_URL environment variable on the API container to point to the new Temporal service you just brought up, <IP>:7333. You'll need to use your server's IP as the services aren't in the same docker network.
  3. Bring Ganymede back up docker compose up -d
  4. Start an archive to ensure workflows are being scheduled.

Let me know how it goes.

@c-hri-s
Copy link
Author

c-hri-s commented Feb 5, 2024

Thanks - all done (some of the ports you've listed in the instructions above weren't quite right, but I knew what you meant).
I ran an ad-hoc archive and it ran okay, I saw the workflows being created and it completed sucessfully.
I'll keep it configured this way and let you know if I see any further errors.

Common to the other issue you mentioned, I am using a Synology (DS1821+). It is configured with a 512GB read-write SSD cache, so writes should be quick (as should reads of commonly-used data). Although you don't have any control over what it caches, it reports a 95-99% hit rate.

@c-hri-s
Copy link
Author

c-hri-s commented Feb 7, 2024

So far so good, although I'll need to leave it a while longer to confirm it's no longer an issue.

Not sure if connected or not, but a stream it archived today had this thumnail:

43579053851-web_thumbnail

43579053851-thumbnail.jpg is a regular screengrab, but 43579053851-web_thumbnail.jpg is that image above.

@Zibbp
Copy link
Owner

Zibbp commented Feb 8, 2024

That's the default image that Twitch provides when it doesn't yet have a screen shot of the stream. I mitigated this before by re-fetching the thumbnails after 15 minutes. I don't believe I got that setup again after migrating to the workflows, I'll look into doing that. In the meantime, you can copy the 43579053851-thumbnail.jpg file and name it 43579053851-web_thumbnail.jpg.

@c-hri-s
Copy link
Author

c-hri-s commented Feb 16, 2024

No further issues since moving to the temporal/postgresql setup .. not sure what you want to do with this issue, do you want me to close it?

I guess staying on the alternative temporal setup is okay for now, but not so much if it diverges from whatever you're doing with the core release.

@Zibbp
Copy link
Owner

Zibbp commented Feb 16, 2024

I'll figure out how to switch from the not-so-production-ready Temporal container that I'm currently deploying, to use the real version that has been working fine for you. It may require an extra step or two for new users to setup, but that's worth it, if it works for everyone.
I'll leave this open until I can get a release out that has steps to migrate.

@Zibbp
Copy link
Owner

Zibbp commented Feb 19, 2024

v2.1.0 has been released with steps to migrate to the new Temporal container. I was able to simplify some things and reuse the existing DB so I recommend performing the steps outlined on the release page.
This release also will run the live thumbnail download task again, 10 minutes after the archive starts, to fix the issue above.

@Zibbp Zibbp closed this as completed Feb 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants