Skip to main content

Python run watchdog along with a flash app


The pre-requisite for understanding this blog post would be the following post. Please go through the following to set the context to understand what is discussed in this post.

Problem :
The flask app was running and was responding to a bunch of curl commands. This was single process thread that was working.
When the watchdog api was integrated and initiated with the flask program, the problem was that the watchdog thread was started and the flask app was never started. It was started only when the watchdog thread ended.

Since we want both the threads to be running, the watchdog process has to run in the background and the flask app to should run normally so that both functionalities are available for use.

Python thread and threading are the options available.
The "thread" starts a thread and waits for it to complete before proceeding with the rest of the flow to get executed.(But this is not what we want, right!!)
Threading starts a thread and runs in the background, the user won't know when the thread is ending but can track what is the status of the thread by using an isAlive check for the thread.

Thread:

Threading:

Important Note:

Please ensure that you are starting the thread and not waiting for it by any means.
Also, enable the daemonize option so that the background thread is closed when the main thread is stopped. 




Comments

Popular posts from this blog

Using python script, send a message to CISCO spark user when a certain event happens

CISCO spark has exposed few APIs that enable us to send a message to a certain email ID. Another good part is that, instead of sending the message from a certain user, you can create a Spark Bot and then send a message to the required user from the bot's ID. If you have a spark account, you can access the tutorials here and have fun. https://developer.ciscospark.com/getting-started.html Creating a bot instructions are available here: https://developer.ciscospark.com/bots.html I have tested these APIs and sent messages to myself from the bot's ID using Postman and a simple python script. You can download postman from the following link: https://www.getpostman.com/  and run the apis or run them directly from the interactive Rest API terminal that is present in one of the submenus in the above-mentioned link. You should try various other options as well.  The Python script to send spark message: import json import requests if __name__=="_...

Concurrency in Go - Visualization

In this blog, let us discuss a program to visualize concurrency in Golang. Reference and source: Program 1: import " fmt " import " time " func main () { var Ball int Ball = 5 table := make ( chan int ) go player (table, 1 ) go player (table, 2 ) fmt. Println ( " mainstart: " , Ball) table <- Ball time. Sleep ( 1 * time. Second ) endres := <- table fmt. Println ( " mainend: " , endres) } func player ( table chan int , playernumber int ){ for { ball := <- table fmt. Println (playernumber, " : " ,ball) ball++ time. Sleep ( 100 * time. Millisecond ) table <- ball } } /* ---------------------------------------------------------------------------------------------------------- Explanation: Please try to visualize on your own before reading the explanation. We will name the two goroutines that are called as player1_goroutine ...