ソースを参照

Add a script which shows an example of a communications event.

Chris McDonough 18 年 前
コミット
e14714d6f0
1 ファイル変更39 行追加0 行削除
  1. 39 0
      src/supervisor/scripts/sample_commevent.py

+ 39 - 0
src/supervisor/scripts/sample_commevent.py

@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+
+##############################################################################
+#
+# Copyright (c) 2007 Agendaless Consulting and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE
+#
+##############################################################################
+
+# An example process which emits a stdout process communication event every
+# second (or every number of seconds specified as a single argument).
+
+import sys
+import time
+
+def write_stdout(s):
+    sys.stdout.write(s)
+    sys.stdout.flush()
+
+def main(sleep):
+    while 1:
+        write_stdout('<!--XSUPERVISOR:BEGIN-->')
+        write_stdout('the data')
+        write_stdout('<!--XSUPERVISOR:END-->')
+        time.sleep(sleep)
+
+if __name__ == '__main__':
+    if len(sys.argv) > 1:
+        main(int(sys.argv[1]))
+    else:
+        main(1)
+