ironmansoftware / universal-dashboard

Build beautiful websites with PowerShell.
https://universaldashboard.io
GNU Lesser General Public License v3.0
449 stars 85 forks source link

Question: Do controls have a timeout interval? Ex.New-UDGrid #457

Closed RCDS1 closed 6 years ago

RCDS1 commented 6 years ago

I created a collection of reports users can select which run SQL stored procedures, this data is then sent to New-UDGrid control to display the content.

Problem: One stored procedure takes 2-5 minutes to complete but the page never displays the data. I know the stored procedure is executing successfully because I have it export to csv to before sending the results to New-UDGrid but New-UDGrid never displays the result. Other stored procedures work fine.

While debugging, I can prove the code works fine by importing a csv which has the data to the New-UDGrid control directly. When doing this everything displays correctly but when I switch back to the stored procedure, New-UDGrid never loads the data and the page remains blank.

Question: Do controls timeout if data is not returned to them in a specific interval? Example, after no results are returned in min > 1 assume the process failed.

I can’t find any documentation on this.

adamdriscoll commented 6 years ago

I sent this in an email as well:

I haven't seen a time out previously but I also haven't run an endpoint for that long. There may be some time out in play but would need to investigate. I'll open a GitHub issue to investigate that.

Do your query require user input? (sounds like it) Is it something you could load in the background?

UD has scheduled endpoints which could load the data on an interval and store the results in a $Cache variable which could then be used in the UI.

Here's the documentation with examples.

https://docs.universaldashboard.io/endpoints/scheduled-endpoints

I've also just setup a Forum for people to ask questions so if you ever have questions you'd like to open there, feel free. https://forums.universaldashboard.io/

The other issue I have seen here is if you pass the SQL records directly to Out-UDGridData, it can hang forever. Check your CPU usage while you are waiting for it to return. You can avoid that problem by tranforming the object into a PSCustomObject:

Invoke-SqlCmd | ForEach-Object {
      [PSCustomObject]@{ 
          Col1 = $_.Col1
          Col2 = $_.Col2
          Col3 = $_.Col3
     }
} | Out-UDGridData
RCDS1 commented 6 years ago

Hi Adam,

Thanks for responding.

I opened a issue on GitHub https://github.com/ironmansoftware/universal-dashboard/issues/457#thread-subscription-status

The query is accepting user input (select date, month, year and checkbox), so it is very dynamic and not something I can run in the background (too many possible result sets).

I'm pretty sure there is a time out in play based depending on the user input selection, if the sp returns within 30 seconds New-UDGrid/Out-UDGridData displays the data fine. Problems occur with the longer queries with different user selections.

I am converting the output data to a pscustomobject first before sending to Out-UDGridData.

If you can keep me posted on what you find out, that would be great.

Thanks again.


Ray Scott | Systems Engineer II Windows Services 309 West 49th Street New York, NY, US, 10019-7316 Ray.Scott@Instinet.com (212)310-5209

From: "Adam Driscoll" notifications@github.com To: "ironmansoftware/universal-dashboard" universal-dashboard@noreply.github.com Cc: "RCDS1" Ray.Scott@Instinet.com, "Manual" manual@noreply.github.com Date: 11/09/2018 03:04 PM Subject: Re: [ironmansoftware/universal-dashboard] Question: Do controls have a timeout interval? Ex.New-UDGrid (#457)

**** Caution: External Email This email originated from an external source. If this email appears suspicious or you are uncertain of its authenticity, do not click any links or attachments or otherwise act upon it until you have consulted your local Instinet Help Desk. ****

I sent this in an email as well:

I haven't seen a time out previously but I also haven't run an endpoint for that long. There may be some time out in play but would need to investigate. I'll open a GitHub issue to investigate that.

Do your query require user input? (sounds like it) Is it something you could load in the background?

UD has scheduled endpoints which could load the data on an interval and store the results in a $Cache variable which could then be used in the UI.

Here's the documentation with examples.

https://docs.universaldashboard.io/endpoints/scheduled-endpoints

I've also just setup a Forum for people to ask questions so if you ever have questions you'd like to open there, feel free. https://forums.universaldashboard.io/

The other issue I have seen here is if you pass the SQL records directly to Out-UDGridData, it can hang forever. Check your CPU usage while you are waiting for it to return. You can avoid that problem by tranforming the object into a PSCustomObject:

Invoke-SqlCmd | ForEach-Object { [PSCustomObject]@{ Col1 = $.Col1 Col2 = $.Col2 Col3 = $_.Col3 } } | Out-UDGridData

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

========================================================================================================= <<<< Disclaimer >>>> This message, including all attachments, is private and confidential, may contain proprietary or privileged information and material and is intended solely for use by the named addressee(s). If you receive this transmission in error, please immediately notify the sender and destroy this message in its entirety, whether in electronic or hard copy format. Any unauthorized use (and reliance thereon), copying, disclosure, retention, or distribution of this transmission or the material herein is forbidden. We reserve the right to retain, monitor, intercept and archive electronic communications. This message does not constitute an offer or solicitation with respect to the purchase or sale of any security. It should not be construed to contain any recommendation regarding any security or strategy unless expressly stated therein. Any reference to the terms of executed transactions should be treated as preliminary only and subject to formal written confirmation. Any views expressed are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be the views of any such entity. This message is provided on an “as is” basis. It contains material that is owned by Instinet Incorporated, its subsidiaries or its or their licensors, and may not, in whole or in part, be (i) copied, photocopied or duplicated in any form, by any means, or (ii) redistributed, posted, published, excerpted, or quoted without Instinet Incorporated's prior written consent. No confidentiality or privilege is waived or lost by any mistransmission of this message. Instinet, LLC (member SIPC) and Instinet Canada Limited (member IIROC/CIPF) are subsidiaries of Instinet Incorporated that are locally registered or otherwise authorized to provide securities brokerage products and services. Please refer to the following links for additional disclosures and disclaimers that apply to this message. In the United States: http://instinet.com/docs/legal/le_disclaimers.html . In Canada: http://www.instinet.com/docs/legal/le_ca_disclosures.html . Effective July 1, 2014, Canada introduced Canadian Anti-Spam Legislation ("CASL"). As a Canadian resident you are receiving this electronic communication because of your existing relationship with Instinet Canada Limited or an authorized affiliate. Canadian residents who wish to unsubscribe from commercial electronic messages: please e-mail iclcompliance@instinet.com. Please note that you will continue to receive non-commercial electronic messages, such as account statements, invoices, client communications, and other similar factual electronic communications.

=========================================================================================================

adamdriscoll commented 6 years ago

@RCDS1 Ok. Thanks. I'll see if I can dig up where the timeout is.

RCDS1 commented 6 years ago

Hi Adam,

Happy Holidays.

Just following up, were you able to uncover anything?

Thanks


Ray Scott | Systems Engineer II Windows Services 309 West 49th Street New York, NY, US, 10019-7316 Ray.Scott@Instinet.com (212)310-5209

From: "Adam Driscoll" notifications@github.com To: "ironmansoftware/universal-dashboard" universal-dashboard@noreply.github.com Cc: "RCDS1" Ray.Scott@Instinet.com, "Mention" mention@noreply.github.com Date: 11/09/2018 03:30 PM Subject: Re: [ironmansoftware/universal-dashboard] Question: Do controls have a timeout interval? Ex.New-UDGrid (#457)

**** Caution: External Email This email originated from an external source. If this email appears suspicious or you are uncertain of its authenticity, do not click any links or attachments or otherwise act upon it until you have consulted your local Instinet Help Desk. ****

@RCDS1 Ok. Thanks. I'll see if I can dig up where the timeout is.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

========================================================================================================= <<<< Disclaimer >>>> This message, including all attachments, is private and confidential, may contain proprietary or privileged information and material and is intended solely for use by the named addressee(s). If you receive this transmission in error, please immediately notify the sender and destroy this message in its entirety, whether in electronic or hard copy format. Any unauthorized use (and reliance thereon), copying, disclosure, retention, or distribution of this transmission or the material herein is forbidden. We reserve the right to retain, monitor, intercept and archive electronic communications. This message does not constitute an offer or solicitation with respect to the purchase or sale of any security. It should not be construed to contain any recommendation regarding any security or strategy unless expressly stated therein. Any reference to the terms of executed transactions should be treated as preliminary only and subject to formal written confirmation. Any views expressed are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be the views of any such entity. This message is provided on an “as is” basis. It contains material that is owned by Instinet Incorporated, its subsidiaries or its or their licensors, and may not, in whole or in part, be (i) copied, photocopied or duplicated in any form, by any means, or (ii) redistributed, posted, published, excerpted, or quoted without Instinet Incorporated's prior written consent. No confidentiality or privilege is waived or lost by any mistransmission of this message. Instinet, LLC (member SIPC) and Instinet Canada Limited (member IIROC/CIPF) are subsidiaries of Instinet Incorporated that are locally registered or otherwise authorized to provide securities brokerage products and services. Please refer to the following links for additional disclosures and disclaimers that apply to this message. In the United States: http://instinet.com/docs/legal/le_disclaimers.html . In Canada: http://www.instinet.com/docs/legal/le_ca_disclosures.html . Effective July 1, 2014, Canada introduced Canadian Anti-Spam Legislation ("CASL"). As a Canadian resident you are receiving this electronic communication because of your existing relationship with Instinet Canada Limited or an authorized affiliate. Canadian residents who wish to unsubscribe from commercial electronic messages: please e-mail iclcompliance@instinet.com. Please note that you will continue to receive non-commercial electronic messages, such as account statements, invoices, client communications, and other similar factual electronic communications.

=========================================================================================================

adamdriscoll commented 6 years ago

Hi there,

Sorry for the delay. I'm not seeing this behavior (running 2.2.0-beta1). I created a grid with a 2 minute delay in the endpoint and it successfully returns in the browser.

image

$Dashboard = New-UDDashboard -Title "Timeout" -Content {
    New-UDGrid -Title "Grid" -Headers @("Test") -Properties @("Test") -Endpoint {
        Start-SLeep 120
        @([PSCustomObject]@{
           'Test' = 'Hi' 
        }) | Out-UDGridData
    }
}

Start-UDDashboard -Dashboard $Dashboard -Port 1111

What browser and version of UD are you using? Can you please try to open the developer tools in your browser and observe the network traffic to see what happens if the call ever returns? Are there any errors in the console window of your browser?

RCDS1 commented 6 years ago

Hi Good Morning,

Can you increase the delay to 5 minutes? Chrome UD 1.7.0 I know the call returns because I have it export the results to a csv file on the local server before sending results to Out-Grid. Console Window (2) error:

Error (1) signalr-clientES5-1.…pha2-final.min.js:1 Uncaught (in promise) Error: Cannot send data if the connection is not in the 'Connected' State at e.value (signalr-clientES5-1.…pha2-final.min.js:1) at signalr-clientES5-1.…pha2-final.min.js:1 at new Promise () at new t (signalr-clientES5-1.…pha2-final.min.js:1) at e.value ( signalr-clientES5-1.…pha2-final.min.js:1) at t.value (ud-dashboard.jsx:127) at commitLifeCycles (react-dom.production.min.js:148) at t ( react-dom.production.min.js:157) at y (react-dom.production.min.js:168) at v (react-dom.production.min.js:167)

Error (2) - Appears after about 2+ minutes,,,,maybe this is the problem?

Failed to load resource: the server responded with a status of 502 (Bad Gateway)

Error: Bad Gateway at fetch-service.jsx:17


Ray Scott | Systems Engineer II Windows Services 309 West 49th Street New York, NY, US, 10019-7316 Ray.Scott@Instinet.com (212)310-5209

From: "Adam Driscoll" notifications@github.com To: "ironmansoftware/universal-dashboard" universal-dashboard@noreply.github.com Cc: "RCDS1" Ray.Scott@Instinet.com, "Mention" mention@noreply.github.com Date: 11/23/2018 02:59 PM Subject: Re: [ironmansoftware/universal-dashboard] Question: Do controls have a timeout interval? Ex.New-UDGrid (#457)

**** Caution: External Email This email originated from an external source. If this email appears suspicious or you are uncertain of its authenticity, do not click any links or attachments or otherwise act upon it until you have consulted your local Instinet Help Desk. ****

Hi there,

Sorry for the delay. I'm not seeing this behavior (running 2.2.0-beta1). I created a grid with a 2 minute delay in the endpoint and it successfully returns in the browser.

$Dashboard = New-UDDashboard -Title "Timeout" -Content { New-UDGrid -Title "Grid" -Headers @("Test") -Properties @("Test") -Endpoint { Start-SLeep 120 @([PSCustomObject]@{ 'Test' = 'Hi' }) | Out-UDGridData } }

Start-UDDashboard -Dashboard $Dashboard -Port 1111

What browser and version of UD are you using? Can you please try to open the developer tools in your browser and observe the network traffic to see what happens if the call ever returns? Are there any errors in the console window of your browser?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

========================================================================================================= <<<< Disclaimer >>>> This message, including all attachments, is private and confidential, may contain proprietary or privileged information and material and is intended solely for use by the named addressee(s). If you receive this transmission in error, please immediately notify the sender and destroy this message in its entirety, whether in electronic or hard copy format. Any unauthorized use (and reliance thereon), copying, disclosure, retention, or distribution of this transmission or the material herein is forbidden. We reserve the right to retain, monitor, intercept and archive electronic communications. This message does not constitute an offer or solicitation with respect to the purchase or sale of any security. It should not be construed to contain any recommendation regarding any security or strategy unless expressly stated therein. Any reference to the terms of executed transactions should be treated as preliminary only and subject to formal written confirmation. Any views expressed are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be the views of any such entity. This message is provided on an “as is” basis. It contains material that is owned by Instinet Incorporated, its subsidiaries or its or their licensors, and may not, in whole or in part, be (i) copied, photocopied or duplicated in any form, by any means, or (ii) redistributed, posted, published, excerpted, or quoted without Instinet Incorporated's prior written consent. No confidentiality or privilege is waived or lost by any mistransmission of this message. Instinet, LLC (member SIPC) and Instinet Canada Limited (member IIROC/CIPF) are subsidiaries of Instinet Incorporated that are locally registered or otherwise authorized to provide securities brokerage products and services. Please refer to the following links for additional disclosures and disclaimers that apply to this message. In the United States: http://instinet.com/docs/legal/le_disclaimers.html . In Canada: http://www.instinet.com/docs/legal/le_ca_disclosures.html . Effective July 1, 2014, Canada introduced Canadian Anti-Spam Legislation ("CASL"). As a Canadian resident you are receiving this electronic communication because of your existing relationship with Instinet Canada Limited or an authorized affiliate. Canadian residents who wish to unsubscribe from commercial electronic messages: please e-mail iclcompliance@instinet.com. Please note that you will continue to receive non-commercial electronic messages, such as account statements, invoices, client communications, and other similar factual electronic communications.

=========================================================================================================

adamdriscoll commented 6 years ago

I tried 5 minutes and I was still able to get a response but that 502 error in your environment is very suspect.

Are you running this in IIS or anything? Are you using login pages?

RCDS1 commented 6 years ago

Yes

Yes

But other reports(one the same page) and queries which return results faster, do indeed work.


Ray Scott | Systems Engineer II Windows Services 309 West 49th Street New York, NY, US, 10019-7316 Ray.Scott@Instinet.com (212)310-5209

From: "Adam Driscoll" notifications@github.com To: "ironmansoftware/universal-dashboard" universal-dashboard@noreply.github.com Cc: "RCDS1" Ray.Scott@Instinet.com, "Mention" mention@noreply.github.com Date: 11/26/2018 12:17 PM Subject: Re: [ironmansoftware/universal-dashboard] Question: Do controls have a timeout interval? Ex.New-UDGrid (#457)

**** Caution: External Email This email originated from an external source. If this email appears suspicious or you are uncertain of its authenticity, do not click any links or attachments or otherwise act upon it until you have consulted your local Instinet Help Desk. ****

I tried 5 minutes and I was still able to get a response but that 502 error in your environment is very suspect.

Are you running this in IIS or anything? Are you using login pages?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

========================================================================================================= <<<< Disclaimer >>>> This message, including all attachments, is private and confidential, may contain proprietary or privileged information and material and is intended solely for use by the named addressee(s). If you receive this transmission in error, please immediately notify the sender and destroy this message in its entirety, whether in electronic or hard copy format. Any unauthorized use (and reliance thereon), copying, disclosure, retention, or distribution of this transmission or the material herein is forbidden. We reserve the right to retain, monitor, intercept and archive electronic communications. This message does not constitute an offer or solicitation with respect to the purchase or sale of any security. It should not be construed to contain any recommendation regarding any security or strategy unless expressly stated therein. Any reference to the terms of executed transactions should be treated as preliminary only and subject to formal written confirmation. Any views expressed are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be the views of any such entity. This message is provided on an “as is” basis. It contains material that is owned by Instinet Incorporated, its subsidiaries or its or their licensors, and may not, in whole or in part, be (i) copied, photocopied or duplicated in any form, by any means, or (ii) redistributed, posted, published, excerpted, or quoted without Instinet Incorporated's prior written consent. No confidentiality or privilege is waived or lost by any mistransmission of this message. Instinet, LLC (member SIPC) and Instinet Canada Limited (member IIROC/CIPF) are subsidiaries of Instinet Incorporated that are locally registered or otherwise authorized to provide securities brokerage products and services. Please refer to the following links for additional disclosures and disclaimers that apply to this message. In the United States: http://instinet.com/docs/legal/le_disclaimers.html . In Canada: http://www.instinet.com/docs/legal/le_ca_disclosures.html . Effective July 1, 2014, Canada introduced Canadian Anti-Spam Legislation ("CASL"). As a Canadian resident you are receiving this electronic communication because of your existing relationship with Instinet Canada Limited or an authorized affiliate. Canadian residents who wish to unsubscribe from commercial electronic messages: please e-mail iclcompliance@instinet.com. Please note that you will continue to receive non-commercial electronic messages, such as account statements, invoices, client communications, and other similar factual electronic communications.

=========================================================================================================

adamdriscoll commented 6 years ago

Ok. Let me try that configuration and see what I can track down.

RCDS1 commented 6 years ago

https://blogs.msdn.microsoft.com/wushuai/2017/08/04/asp-net-core-and-502-bad-gateway-response/

"Default, ASP.NET Core request time out is 2 minutes, and we can change it via requestTimeout in setting file. "

Thoughts?


Ray Scott | Systems Engineer II Windows Services 309 West 49th Street New York, NY, US, 10019-7316 Ray.Scott@Instinet.com (212)310-5209

From: "Adam Driscoll" notifications@github.com To: "ironmansoftware/universal-dashboard" universal-dashboard@noreply.github.com Cc: "RCDS1" Ray.Scott@Instinet.com, "Mention" mention@noreply.github.com Date: 11/26/2018 12:22 PM Subject: Re: [ironmansoftware/universal-dashboard] Question: Do controls have a timeout interval? Ex.New-UDGrid (#457)

**** Caution: External Email This email originated from an external source. If this email appears suspicious or you are uncertain of its authenticity, do not click any links or attachments or otherwise act upon it until you have consulted your local Instinet Help Desk. ****

Ok. Let me try that configuration and see what I can track down.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

========================================================================================================= <<<< Disclaimer >>>> This message, including all attachments, is private and confidential, may contain proprietary or privileged information and material and is intended solely for use by the named addressee(s). If you receive this transmission in error, please immediately notify the sender and destroy this message in its entirety, whether in electronic or hard copy format. Any unauthorized use (and reliance thereon), copying, disclosure, retention, or distribution of this transmission or the material herein is forbidden. We reserve the right to retain, monitor, intercept and archive electronic communications. This message does not constitute an offer or solicitation with respect to the purchase or sale of any security. It should not be construed to contain any recommendation regarding any security or strategy unless expressly stated therein. Any reference to the terms of executed transactions should be treated as preliminary only and subject to formal written confirmation. Any views expressed are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be the views of any such entity. This message is provided on an “as is” basis. It contains material that is owned by Instinet Incorporated, its subsidiaries or its or their licensors, and may not, in whole or in part, be (i) copied, photocopied or duplicated in any form, by any means, or (ii) redistributed, posted, published, excerpted, or quoted without Instinet Incorporated's prior written consent. No confidentiality or privilege is waived or lost by any mistransmission of this message. Instinet, LLC (member SIPC) and Instinet Canada Limited (member IIROC/CIPF) are subsidiaries of Instinet Incorporated that are locally registered or otherwise authorized to provide securities brokerage products and services. Please refer to the following links for additional disclosures and disclaimers that apply to this message. In the United States: http://instinet.com/docs/legal/le_disclaimers.html . In Canada: http://www.instinet.com/docs/legal/le_ca_disclosures.html . Effective July 1, 2014, Canada introduced Canadian Anti-Spam Legislation ("CASL"). As a Canadian resident you are receiving this electronic communication because of your existing relationship with Instinet Canada Limited or an authorized affiliate. Canadian residents who wish to unsubscribe from commercial electronic messages: please e-mail iclcompliance@instinet.com. Please note that you will continue to receive non-commercial electronic messages, such as account statements, invoices, client communications, and other similar factual electronic communications.

=========================================================================================================

adamdriscoll commented 6 years ago

Nice find! Looks like you can set the responseTimeout in the web.config.

This should set it to ten minutes:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <!--
    Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
  -->
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath=".\net472\universaldashboard.server.exe" arguments="" stdoutLogEnabled="true" stdoutLogFile="\\?\%home%\LogFiles\stdout" forwardWindowsAuthToken="false" requestTimeout="00:10:00"/>
  </system.webServer>
</configuration>
RCDS1 commented 6 years ago

Problem still persists after adding requestTimeout.

Here is my web.config ,my failed request trace and a couple other articles (may be helpful).

WebConfig

<?xml version="1.0" encoding="utf-8"?>

Failed Request Trace

(See attached file: fr000001.xml)

Links https://github.com/aspnet/IISIntegration/issues/311 https://github.com/aspnet/IISIntegration/issues/903 https://github.com/aspnet/AspNetCoreModule/issues/287


Ray Scott | Systems Engineer II Windows Services 309 West 49th Street New York, NY, US, 10019-7316 Ray.Scott@Instinet.com (212)310-5209

From: "Adam Driscoll" notifications@github.com To: "ironmansoftware/universal-dashboard" universal-dashboard@noreply.github.com Cc: "RCDS1" Ray.Scott@Instinet.com, "Mention" mention@noreply.github.com Date: 11/28/2018 10:48 AM Subject: Re: [ironmansoftware/universal-dashboard] Question: Do controls have a timeout interval? Ex.New-UDGrid (#457)

**** Caution: External Email This email originated from an external source. If this email appears suspicious or you are uncertain of its authenticity, do not click any links or attachments or otherwise act upon it until you have consulted your local Instinet Help Desk. ****

Nice find! Looks like you can set the responseTimeout in the web.config.

This should set it to ten minutes:

<?xml version="1.0" encoding="utf-8"?>

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

========================================================================================================= <<<< Disclaimer >>>> This message, including all attachments, is private and confidential, may contain proprietary or privileged information and material and is intended solely for use by the named addressee(s). If you receive this transmission in error, please immediately notify the sender and destroy this message in its entirety, whether in electronic or hard copy format. Any unauthorized use (and reliance thereon), copying, disclosure, retention, or distribution of this transmission or the material herein is forbidden. We reserve the right to retain, monitor, intercept and archive electronic communications. This message does not constitute an offer or solicitation with respect to the purchase or sale of any security. It should not be construed to contain any recommendation regarding any security or strategy unless expressly stated therein. Any reference to the terms of executed transactions should be treated as preliminary only and subject to formal written confirmation. Any views expressed are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be the views of any such entity. This message is provided on an “as is” basis. It contains material that is owned by Instinet Incorporated, its subsidiaries or its or their licensors, and may not, in whole or in part, be (i) copied, photocopied or duplicated in any form, by any means, or (ii) redistributed, posted, published, excerpted, or quoted without Instinet Incorporated's prior written consent. No confidentiality or privilege is waived or lost by any mistransmission of this message. Instinet, LLC (member SIPC) and Instinet Canada Limited (member IIROC/CIPF) are subsidiaries of Instinet Incorporated that are locally registered or otherwise authorized to provide securities brokerage products and services. Please refer to the following links for additional disclosures and disclaimers that apply to this message. In the United States: http://instinet.com/docs/legal/le_disclaimers.html . In Canada: http://www.instinet.com/docs/legal/le_ca_disclosures.html . Effective July 1, 2014, Canada introduced Canadian Anti-Spam Legislation ("CASL"). As a Canadian resident you are receiving this electronic communication because of your existing relationship with Instinet Canada Limited or an authorized affiliate. Canadian residents who wish to unsubscribe from commercial electronic messages: please e-mail iclcompliance@instinet.com. Please note that you will continue to receive non-commercial electronic messages, such as account statements, invoices, client communications, and other similar factual electronic communications.

=========================================================================================================

RCDS1 commented 6 years ago

It's working!

Disregard my previous message, I was updating the wrong web.config.

Updating the requestTimeout (requestTimeout="00:20:00") in the web config is the solution.

Thanks for all your help!!!


Ray Scott | Systems Engineer II Windows Services 309 West 49th Street New York, NY, US, 10019-7316 Ray.Scott@Instinet.com (212)310-5209

From: Ray Scott/NYC/US/INSTINET To: "ironmansoftware/universal-dashboard" <reply +0254a98515a700e1a1f4bdb0d0dd9d72b3e4d2f43b9c362192cf0000000118167ac792a169ce169b5420@reply.github.com> Cc: "Mention" mention@noreply.github.com, "ironmansoftware/universal-dashboard" universal-dashboard@noreply.github.com Date: 11/28/2018 11:21 AM Subject: Re: [ironmansoftware/universal-dashboard] Question: Do controls have a timeout interval? Ex.New-UDGrid (#457)

Problem still persists after adding requestTimeout.

Here is my web.config ,my failed request trace and a couple other articles (may be helpful).

WebConfig

<?xml version="1.0" encoding="utf-8"?>

Failed Request Trace

[attachment "fr000001.xml" deleted by Ray Scott/NYC/US/INSTINET]

Links https://github.com/aspnet/IISIntegration/issues/311 https://github.com/aspnet/IISIntegration/issues/903 https://github.com/aspnet/AspNetCoreModule/issues/287


Ray Scott | Systems Engineer II Windows Services 309 West 49th Street New York, NY, US, 10019-7316 Ray.Scott@Instinet.com (212)310-5209

From: "Adam Driscoll" notifications@github.com To: "ironmansoftware/universal-dashboard" universal-dashboard@noreply.github.com Cc: "RCDS1" Ray.Scott@Instinet.com, "Mention" mention@noreply.github.com Date: 11/28/2018 10:48 AM Subject: Re: [ironmansoftware/universal-dashboard] Question: Do controls have a timeout interval? Ex.New-UDGrid (#457)

**** Caution: External Email This email originated from an external source. If this email appears suspicious or you are uncertain of its authenticity, do not click any links or attachments or otherwise act upon it until you have consulted your local Instinet Help Desk. ****

Nice find! Looks like you can set the responseTimeout in the web.config.

This should set it to ten minutes:

<?xml version="1.0" encoding="utf-8"?>

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

========================================================================================================= <<<< Disclaimer >>>> This message, including all attachments, is private and confidential, may contain proprietary or privileged information and material and is intended solely for use by the named addressee(s). If you receive this transmission in error, please immediately notify the sender and destroy this message in its entirety, whether in electronic or hard copy format. Any unauthorized use (and reliance thereon), copying, disclosure, retention, or distribution of this transmission or the material herein is forbidden. We reserve the right to retain, monitor, intercept and archive electronic communications. This message does not constitute an offer or solicitation with respect to the purchase or sale of any security. It should not be construed to contain any recommendation regarding any security or strategy unless expressly stated therein. Any reference to the terms of executed transactions should be treated as preliminary only and subject to formal written confirmation. Any views expressed are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be the views of any such entity. This message is provided on an “as is” basis. It contains material that is owned by Instinet Incorporated, its subsidiaries or its or their licensors, and may not, in whole or in part, be (i) copied, photocopied or duplicated in any form, by any means, or (ii) redistributed, posted, published, excerpted, or quoted without Instinet Incorporated's prior written consent. No confidentiality or privilege is waived or lost by any mistransmission of this message. Instinet, LLC (member SIPC) and Instinet Canada Limited (member IIROC/CIPF) are subsidiaries of Instinet Incorporated that are locally registered or otherwise authorized to provide securities brokerage products and services. Please refer to the following links for additional disclosures and disclaimers that apply to this message. In the United States: http://instinet.com/docs/legal/le_disclaimers.html . In Canada: http://www.instinet.com/docs/legal/le_ca_disclosures.html . Effective July 1, 2014, Canada introduced Canadian Anti-Spam Legislation ("CASL"). As a Canadian resident you are receiving this electronic communication because of your existing relationship with Instinet Canada Limited or an authorized affiliate. Canadian residents who wish to unsubscribe from commercial electronic messages: please e-mail iclcompliance@instinet.com. Please note that you will continue to receive non-commercial electronic messages, such as account statements, invoices, client communications, and other similar factual electronic communications.

=========================================================================================================

adamdriscoll commented 6 years ago

@RCDS1 Fantastic news! I'll make sure to update the documentation to include this handy little tidbit.

msizec commented 5 years ago

I sent this in an email as well:

I haven't seen a time out previously but I also haven't run an endpoint for that long. There may be some time out in play but would need to investigate. I'll open a GitHub issue to investigate that.

Do your query require user input? (sounds like it) Is it something you could load in the background?

UD has scheduled endpoints which could load the data on an interval and store the results in a $Cache variable which could then be used in the UI.

Here's the documentation with examples.

https://docs.universaldashboard.io/endpoints/scheduled-endpoints

I've also just setup a Forum for people to ask questions so if you ever have questions you'd like to open there, feel free. https://forums.universaldashboard.io/

The other issue I have seen here is if you pass the SQL records directly to Out-UDGridData, it can hang forever. Check your CPU usage while you are waiting for it to return. You can avoid that problem by tranforming the object into a PSCustomObject:

Invoke-SqlCmd | ForEach-Object {
      [PSCustomObject]@{ 
          Col1 = $_.Col1
          Col2 = $_.Col2
          Col3 = $_.Col3
     }
} | Out-UDGridData

Hi, My post isnt relevant to the original problem. Just wanted to ask a question about what you say in this post : transforming the object into a pscustomobject before passing it to out-udgriddata...

Is this a better way to pass things to out-udgriddata. i never have a lot of fields to pass to the grid, but is your method better that just the select-object way ?