Постоянная проверка условия в фоне

Как сделать чтобы постоянно в фоновом режиме проверялось условие допустим: программа постоянно проверяла при этом всем выполняется другой блок кода, а как только условие верное мы его выполняем хоть даже оно на первой строке кода, а мы на 300

morozhenoye_upalo = False

if morozhenoye_upalo = True: print ("podnyat")

morozhenoye_upalo = True

Ответы (2 шт):

Автор решения: D. Violet

возможно вам подойдут threading

b_file.py:

from threading import Timer

class RepeatTimer(Timer):
    def run(self):
        while not self.finished.wait(self.interval):
            self.function(*self.args, **self.kwargs)

def check():
    print('check')

a_file.py:

from b_file import check
<...>
if __name__ == '__main__':
    RepeatTimer(120, check).start()  # функция check будет выполняться в отдельном потоке каждые 2 минуты
    <...>
→ Ссылка
Автор решения: PSV

По мне, лучше сделать свойство и/ли функцию

Через функцию:

#via Function
fldIceCreamDropped = False;

def SetIceCreamDropped(Value):
  fldIceCreamDropped = Value
  if (fldIceCreamDropped):
    print('Ахтунг ахтунг')

...
...

SetIceCreamDropped(True)

Через св-во:

#via Property
class APerson(object):
    
  def __init__(self):
    self.ficeCreamDropped = False;

  def iceCreamDroppedSet(self, value):
    print("Setting an Ice");
    self.ficeCreamDropped = value
    if ( self.ficeCreamDropped ):
      print("Dropped !!!");
      
  iceCreamDropped = property(None, iceCreamDroppedSet);

  
man = APerson()
...
...
man.iceCreamDropped = True

Соответственно, как только будет задано значение - именно в этот момент произойдёт обработка падения мороженого.

Значение не будет проверятся всегда (да и не должно), но отработает именно тогда, когда значение будет изменено.

→ Ссылка