What is a Trigger?!

A Trigger is an independant object able of acting on its owner when it detects a particular event. This property is used in CoSApp for different uses, such as launching computation on a System.

triggers 1

Introduction

Create a Trigger

You can pick an existing Trigger in the CoSApp core package, in a third-party library, or even define your own!

[1]:
import logging
logging.getLogger().setLevel(logging.INFO)

FileCreationHandler triggers an action when a file is created in a monitored folder

FileModificationHandler triggers an action when a file is modified in a monitored folder

[2]:
from cosapp.base import System
from cosapp.tools.trigger import FileCreationHandler, FileModificationHandler
from pathlib import Path

s = System('mysystem')
trigger = FileCreationHandler(owner=s, folder=str(Path.home()), timeout=0.2)

Launch a Trigger

Just call the start method of your Trigger to launch it!

The Trigger will stop automatically after a specified duration called timeout. Most triggers have a timeout optional argument to set this property.

triggers 2

[3]:
trigger.start()