Thank you!

On Thursday, February 13, 2020 at 2:06:49 AM UTC+2, Tom Keffer wrote:
>
> Things like this should really be run in another thread, which then 
> communicates with the main thread. It's easy to hang, or even crash, the 
> main thread if it is dependent on a network connection. 
>
> For a fairly simple example of how this is done, look at the 
> weewx-nmea-xdr 
> <https://github.com/tkeffer/weewx-nmea-xdr/blob/master/bin/user/nmea-xdr.py> 
> service. On startup, it sets up a separate thread, then connects it to the 
> main thread via a queue. The thread blocks on a serial port. When data 
> comes in, the thread packages it, then sends it down the queue to the main 
> thread.
>
> You can do something similar using a socket instead of a serial port.
>
> Now that I think about it, take a look around in the forums. Surely 
> someone has done something close to what you need!
>
> -tk
>
> On Wed, Feb 12, 2020 at 1:42 PM Tarmo <[email protected] <javascript:>> 
> wrote:
>
>> How to exit the service (to try again later) in an exception without 
>> crashing the main WeeWx process?
>>
>> Let's say, I want to connect to a host:
>>    def connect(self):
>>         try:
>>             self.hp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>>             self.hp.connect(self.host, self.port)
>>         except socket.error as e:
>>             logerr("Error: connection failed {}".format(e))
>>             self.hp.close()
>>
>>
>>  
>> Now, in case of an exception, I would like to return gracefully to the 
>> main WeeWx thread without crashing it and try on the next archive interval.
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "weewx-development" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/weewx-development/1ed99eeb-426e-4c6a-a4e2-90bc2b6566ea%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/weewx-development/1ed99eeb-426e-4c6a-a4e2-90bc2b6566ea%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-development/96bbb3d0-b08e-429e-ba13-a59629b12bde%40googlegroups.com.

Reply via email to