Example #1
0
    def __init__(self, fn, In = None, Out = None):
        if In is None:  In = sys.stdin
        if Out is None: Out = sys.stdout
        self.fn = fn
        self.chan = Chan()
        self.chan.set_channels(In, Out)
        self.filewatch = FileWatcher(fn)

        self.code_locals = {}
        try:
            self.load_code(self.code_locals)
            self.filewatch.note_new_files()
            self.chan.send_cmd('ready')
        except:
            self.filewatch.note_new_files()
            self.chan.send_cmd('exception', string = traceback.format_exc())
Example #2
0
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with pysched.  If not, see <http://www.gnu.org/licenses/>.

from pysched import Scheduler
from filewatcher import FileWatcher

print """

This script creates two FileWatcher processes, each watching for one file. 
The files watched for are called "file1" and "file2".

The scheduler will execute the appropriate process if one of the 2 files
are created. After both processes have excuted the scheduler will exit.

"""

sched = Scheduler()
proc1 = FileWatcher("proc1", "file1")
proc2 = FileWatcher("proc2", "file2")

sched.add_process(proc1)
sched.add_process(proc2)

while not sched.finished():
    sched.check_events()
    sched.run_next()