Why Did My New Workflow Trigger a Timeout at 6am EST?

This topic was automatically generated from Slack. You can find the original thread here.

I got a timeout on a workflow this morning. The workflow is triggered by time, 6am EST. Going by the Inspector, it doesn’t show like any other step ran. They are greyed out and no output from those steps shown. This workflow runs once a day. This is a newer workflow, so last night I was debugging it.

A few minutes after I got the error message I adjusted the timeout (since it is a new workflow), I replayed the failed workflow and it ran in 14,535ms.

Any thoughts on timeout on trigger?

Hi , the timeout is likely caused by one of your step. The UI currently does not show which step causing it. I would recommend you to:
• Revise your workflow to optimize your potential heavy steps
• Increase your workflow timeout

Hmmm

It would be nice to get a better indicator of which step. For instance, if there are 5 steps, in the time period, it may complete two of them and the stall on the third. Would the first two still return results/logs/exports and it would be shown in the inspector?

The steps are hitting API endpoints, collecting data, not much, but maybe one of those timedout. Is there a good method to log this? Right now all the steps are greyed out and not showing any log or returned information.

It would be nice to get a better indicator of which step. For instance, if there are 5 steps, in the time period, it may complete two of them and the stall on the third. Would the first two still return results/logs/exports and it would be shown in the inspector? (edited)
No

The steps are hitting API endpoints, collecting data, not much, but maybe one of those timedout. Is there a good method to log this? Right now all the steps are greyed out and not showing any log or returned information.
There’s no native method to log this. Maybe you can add intermediate steps to log your progress into datastore?

would it log to datastore even if it times out?
I’m curious why that would work, but if I do various print statements in the code, those won’t return before it times out.

That is, for the code executed, if it passed a print statement, why can’t that get displayed in inspector. Making sense?

For extreme clarity, the first block after the trigger in this timeout is a python block. The first few lines of code are:

def handler(pd: "pipedream"):
    yesterday_start, yesterday_end = get_yesterday_time_range(TIMEZONE)
    print(f"yesterday started: {yesterday_start}")
    print(f"yesteday ended: {yesterday_end}")

my expectation should be that even in a timeout, these print logs would be available. It would be one way to see how far and where the code got to. Right now, nothing is showing in inspector.

would you mind creating a ticket here stating your suggested improvement for Pipedream? That would be a great help :pray:

Is it a bug report or feature request? Or one of the other categories?

It’s an Improvement or Feature Request

done