Question re download timeout setting
Mark Smith
marksmithhfx at gmail.com
Mon Jul 24 10:03:25 EDT 2023
Hi William,
This is a long shot, but in case it inspires a solution, I do something like the following to upload and download files to dropbox (which I think is similar to what Matthias is suggesting as well).
put "/todoitems.sqlite" into pPath -- the path to the file on server, in this case dropbox (equivalent to your put “https…”?)
tsNetSetTimeouts 20,0,20000,60000,20,1000 -- establish a 20 second timeout (and also a slow response timeout)
dropBoxDownload pAccessToken, pPath — if successful, the file is copied into the "it” variable (equiv to your put URL theURL into tOutput?) except output goes to “it” instead of tOutput
put the result into tResult — if unsuccessful, tResult holds the error code from tsNet (I think this is dropBoxDownloads doing, but maybe something equiv is possible?) see below...
if tResult is not empty then
-- the dload did not work, do whatever you need to respond to a connection failure
else
put it into URL ("binfile:"&tTargetFile) -- write the data to disk
end if
*Important: If writing to a url container fails, an error is returned in the result. For example:
local tResult
put the result into tResult
> On 22 Jul 2023, at 3:55 pm, William Prothero via use-livecode <use-livecode at lists.runrev.com> wrote:
>
> Matthias,
> I'll try it.
> Thanks so much for your help.
> Bill
>
> William A. Prothero, PhD
> Prof Emeritus, Dept of Earth Science
> University of California, Santa Barbara
>
>> On Jul 22, 2023, at 4:32 AM, matthias rebbe via use-livecode <use-livecode at lists.runrev.com> wrote:
>>
>> Hello Bill,
>>
>> since V8 or so tsNET external is included in any commercial/business license.
>> Even put URL "ftp: or http: will be executed with tsNET by liburl.
>>
>> So in case you did not manually disabletsNET for your app, you could use tsNetSetTimeouts to set timeout values.
>> By default tsNET does not limit the time a request could take and that might be the reason why the put URL takes forever.
>>
>> The Syntax looks like this
>> tsNetSetTimeouts pDnsCacheTimeout, pRequestTimeoutMS, pConnectTimeoutMS, pAcceptTimeoutMS, pLowSpeedTime, pLowSpeedLimit
>>
>> The second parameter is responsible for the request timeout and has to be set in milliseconds.
>>
>> So for example
>>
>> tsNetSetTimeouts 30, 33000, 300000, 60000, 30, 1000
>>
>> would set the request timeout to 33 seconds. The other values in my example are the default values.
>>
>> After the timeout the script continues and you could check if the put command returned the expected value.
>>
>>
>>
>> Regards,
>> Matthias
>>
>>
>>
>>> Am 22.07.2023 um 02:02 schrieb prothero--- via use-livecode <use-livecode at lists.runrev.com>:
>>>
>>> Folks:
>>> Sorry for the trivial question, but..
>>> I have an app on my iphone that I am updating from a several years old app the previously worked on an older version of livecode. It needs to access a mysql database on the internet. It works fine when there is internet service.
>>>
>>> I test access by downloading a file with a simple text code. If there code is returned in the message, I continue accessing the database. However, when there is no internet, the "put URL” command seems to hang forever. I’ve looked for a way to set the timeout for an internet command, but…. can’t,.
>>>
>>> Could you direct me to a simple explanation about how to set a reasonable internet not connected message?
>>>
>>> Thanks,
>>> Bill
>>> put "https://"&theURL&"/test.html" into theURL
>>>
>>> put URL theURL into tOutput —if the request times out, the output is not received.
>>>
>>> if tOutput contains "AB7699HEYIMHERE” then —code received, internet access is successful
>>>
>>> return true
>>>
>>> else
>>>
>>> return false
>>>
>>> end if
>>>
>>>
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
More information about the use-livecode
mailing list