amps-python-client 5.3.4.1__zip → 5.3.4.2__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (917) hide show
  1. amps-python-client-5.3.4.2/PKG-INFO +112 -0
  2. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/ack-messages.doctree +0 -0
  3. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/content-messages.doctree +0 -0
  4. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/intro.doctree +0 -0
  5. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/logon.doctree +0 -0
  6. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/protocol-reference.doctree +0 -0
  7. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/publishing.doctree +0 -0
  8. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/query-delimiters.doctree +0 -0
  9. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/query-subscribe.doctree +0 -0
  10. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/removing.doctree +0 -0
  11. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/utilities.doctree +0 -0
  12. amps-python-client-5.3.4.2/docs/command-reference/doctrees/environment.pickle +0 -0
  13. amps-python-client-5.3.4.2/docs/command-reference/doctrees/index.doctree +0 -0
  14. amps-python-client-5.3.4.2/docs/command-reference/html/.buildinfo +4 -0
  15. amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/ack-messages.rst.txt +8 -0
  16. amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/content-messages.rst.txt +8 -0
  17. amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/intro.rst.txt +8 -0
  18. amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/logon.rst.txt +8 -0
  19. amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/protocol-reference.rst.txt +8 -0
  20. amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/publishing.rst.txt +8 -0
  21. amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/query-delimiters.rst.txt +8 -0
  22. amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/query-subscribe.rst.txt +8 -0
  23. amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/removing.rst.txt +8 -0
  24. amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/utilities.rst.txt +8 -0
  25. amps-python-client-5.3.4.2/docs/command-reference/html/_sources/index.rst.txt +36 -0
  26. amps-python-client-5.3.4.2/docs/command-reference/html/_static/custom.css +161 -0
  27. amps-python-client-5.3.4.2/docs/command-reference/html/chapters/ack-messages.html +95 -0
  28. amps-python-client-5.3.4.2/docs/command-reference/html/chapters/content-messages.html +95 -0
  29. amps-python-client-5.3.4.2/docs/command-reference/html/chapters/intro.html +95 -0
  30. amps-python-client-5.3.4.2/docs/command-reference/html/chapters/logon.html +95 -0
  31. amps-python-client-5.3.4.2/docs/command-reference/html/chapters/protocol-reference.html +93 -0
  32. amps-python-client-5.3.4.2/docs/command-reference/html/chapters/publishing.html +95 -0
  33. amps-python-client-5.3.4.2/docs/command-reference/html/chapters/query-delimiters.html +95 -0
  34. amps-python-client-5.3.4.2/docs/command-reference/html/chapters/query-subscribe.html +95 -0
  35. amps-python-client-5.3.4.2/docs/command-reference/html/chapters/removing.html +95 -0
  36. amps-python-client-5.3.4.2/docs/command-reference/html/chapters/utilities.html +95 -0
  37. amps-python-client-5.3.4.2/docs/command-reference/html/genindex.html +97 -0
  38. amps-python-client-5.3.4.2/docs/command-reference/html/index.html +98 -0
  39. amps-python-client-5.3.4.2/docs/command-reference/html/objects.inv +6 -0
  40. amps-python-client-5.3.4.2/docs/command-reference/html/search.html +107 -0
  41. amps-python-client-5.3.4.2/docs/command-reference/html/searchindex.js +1 -0
  42. amps-python-client-5.3.4.2/docs/html/.buildinfo +4 -0
  43. amps-python-client-5.3.4.2/docs/html/code.html +6616 -0
  44. amps-python-client-5.3.4.2/docs/html/genindex.html +1363 -0
  45. amps-python-client-5.3.4.2/docs/html/index.html +131 -0
  46. amps-python-client-5.3.4.2/docs/html/objects.inv +0 -0
  47. amps-python-client-5.3.4.2/docs/html/py-modindex.html +111 -0
  48. amps-python-client-5.3.4.2/docs/html/search.html +107 -0
  49. amps-python-client-5.3.4.2/docs/html/searchindex.js +1 -0
  50. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/advanced-topics.doctree +0 -0
  51. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/cpp-compiler-list.doctree +0 -0
  52. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/cpp-feature-table.doctree +0 -0
  53. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/creating-commands.doctree +0 -0
  54. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/deltas.doctree +0 -0
  55. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/error-handling.doctree +0 -0
  56. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/exceptions.doctree +0 -0
  57. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/first-program.doctree +0 -0
  58. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/high-availability.doctree +0 -0
  59. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/installing.doctree +0 -0
  60. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/introduction.doctree +0 -0
  61. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/moving-from-python-lite.doctree +0 -0
  62. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/performance-tips.doctree +0 -0
  63. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/queues.doctree +0 -0
  64. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/sow.doctree +0 -0
  65. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/subscriptions.doctree +0 -0
  66. amps-python-client-5.3.4.2/docs/python/doctrees/chapters/utilities.doctree +0 -0
  67. amps-python-client-5.3.4.2/docs/python/doctrees/environment.pickle +0 -0
  68. amps-python-client-5.3.4.2/docs/python/doctrees/index.doctree +0 -0
  69. amps-python-client-5.3.4.2/docs/python/html/.buildinfo +4 -0
  70. amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/advanced-topics.rst.txt +398 -0
  71. amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/cpp-feature-table.rst.txt +26 -0
  72. amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/creating-commands.rst.txt +159 -0
  73. amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/deltas.rst.txt +79 -0
  74. amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/error-handling.rst.txt +481 -0
  75. amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/exceptions.rst.txt +123 -0
  76. amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/first-program.rst.txt +168 -0
  77. amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/high-availability.rst.txt +879 -0
  78. amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/installing.rst.txt +184 -0
  79. amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/introduction.rst.txt +50 -0
  80. amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/moving-from-python-lite.rst.txt +32 -0
  81. amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/performance-tips.rst.txt +432 -0
  82. amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/queues.rst.txt +282 -0
  83. amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/sow.rst.txt +294 -0
  84. amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/subscriptions.rst.txt +374 -0
  85. amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/utilities.rst.txt +214 -0
  86. amps-python-client-5.3.4.2/docs/python/html/_static/custom.css +161 -0
  87. amps-python-client-5.3.4.2/docs/python/html/chapters/advanced-topics.html +447 -0
  88. amps-python-client-5.3.4.2/docs/python/html/chapters/cpp-compiler-list.html +92 -0
  89. amps-python-client-5.3.4.2/docs/python/html/chapters/cpp-feature-table.html +156 -0
  90. amps-python-client-5.3.4.2/docs/python/html/chapters/creating-commands.html +2882 -0
  91. amps-python-client-5.3.4.2/docs/python/html/chapters/deltas.html +169 -0
  92. amps-python-client-5.3.4.2/docs/python/html/chapters/error-handling.html +745 -0
  93. amps-python-client-5.3.4.2/docs/python/html/chapters/exceptions.html +266 -0
  94. amps-python-client-5.3.4.2/docs/python/html/chapters/first-program.html +526 -0
  95. amps-python-client-5.3.4.2/docs/python/html/chapters/high-availability.html +1017 -0
  96. amps-python-client-5.3.4.2/docs/python/html/chapters/installing.html +264 -0
  97. amps-python-client-5.3.4.2/docs/python/html/chapters/introduction.html +245 -0
  98. amps-python-client-5.3.4.2/docs/python/html/chapters/moving-from-python-lite.html +118 -0
  99. amps-python-client-5.3.4.2/docs/python/html/chapters/performance-tips.html +499 -0
  100. amps-python-client-5.3.4.2/docs/python/html/chapters/queues.html +352 -0
  101. amps-python-client-5.3.4.2/docs/python/html/chapters/sow.html +383 -0
  102. amps-python-client-5.3.4.2/docs/python/html/chapters/subscriptions.html +535 -0
  103. amps-python-client-5.3.4.2/docs/python/html/chapters/utilities.html +302 -0
  104. amps-python-client-5.3.4.2/docs/python/html/genindex.html +351 -0
  105. amps-python-client-5.3.4.2/docs/python/html/index.html +382 -0
  106. amps-python-client-5.3.4.2/docs/python/html/objects.inv +0 -0
  107. amps-python-client-5.3.4.2/docs/python/html/search.html +107 -0
  108. amps-python-client-5.3.4.2/docs/python/html/searchindex.js +1 -0
  109. amps-python-client-5.3.4.2/docs/python-quickstart/doctrees/chapters/crankitup.doctree +0 -0
  110. amps-python-client-5.3.4.2/docs/python-quickstart/doctrees/chapters/equipment.doctree +0 -0
  111. amps-python-client-5.3.4.2/docs/python-quickstart/doctrees/environment.pickle +0 -0
  112. amps-python-client-5.3.4.2/docs/python-quickstart/doctrees/index.doctree +0 -0
  113. amps-python-client-5.3.4.2/docs/python-quickstart/html/.buildinfo +4 -0
  114. amps-python-client-5.3.4.2/docs/python-quickstart/html/_static/custom.css +161 -0
  115. amps-python-client-5.3.4.2/docs/python-quickstart/html/chapters/crankitup.html +271 -0
  116. amps-python-client-5.3.4.2/docs/python-quickstart/html/chapters/equipment.html +105 -0
  117. amps-python-client-5.3.4.2/docs/python-quickstart/html/genindex.html +97 -0
  118. amps-python-client-5.3.4.2/docs/python-quickstart/html/index.html +381 -0
  119. amps-python-client-5.3.4.2/docs/python-quickstart/html/objects.inv +0 -0
  120. amps-python-client-5.3.4.2/docs/python-quickstart/html/search.html +107 -0
  121. amps-python-client-5.3.4.2/docs/python-quickstart/html/searchindex.js +1 -0
  122. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/acks.doctree +0 -0
  123. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/actions.doctree +0 -0
  124. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/amps-statistics.doctree +0 -0
  125. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/amps_expressions.doctree +0 -0
  126. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/amps_functions.doctree +0 -0
  127. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/auxiliary_modules.doctree +0 -0
  128. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/config-file-shortcuts.doctree +0 -0
  129. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/conflated_topics.doctree +0 -0
  130. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/constructing-fields.doctree +0 -0
  131. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/daemon.doctree +0 -0
  132. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/delta.doctree +0 -0
  133. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/distribution.doctree +0 -0
  134. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/enrichment.doctree +0 -0
  135. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/events.doctree +0 -0
  136. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/file_format_versions.doctree +0 -0
  137. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/glossary.doctree +0 -0
  138. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/ha.doctree +0 -0
  139. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/installing_and_starting.doctree +0 -0
  140. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/intro.doctree +0 -0
  141. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/logging.doctree +0 -0
  142. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/messageTypes.doctree +0 -0
  143. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/monitoring.doctree +0 -0
  144. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/oof.doctree +0 -0
  145. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/operation.doctree +0 -0
  146. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/pub_sub.doctree +0 -0
  147. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/queues.doctree +0 -0
  148. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/replication.doctree +0 -0
  149. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/securing.doctree +0 -0
  150. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/sow.doctree +0 -0
  151. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/sow_queries.doctree +0 -0
  152. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/spark.doctree +0 -0
  153. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/transports.doctree +0 -0
  154. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/troubleshooting.doctree +0 -0
  155. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/txlog.doctree +0 -0
  156. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/usecases.doctree +0 -0
  157. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/utilities.doctree +0 -0
  158. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/views.doctree +0 -0
  159. amps-python-client-5.3.4.2/docs/user-guide/doctrees/environment.pickle +0 -0
  160. amps-python-client-5.3.4.2/docs/user-guide/doctrees/index.doctree +0 -0
  161. amps-python-client-5.3.4.2/docs/user-guide/html/.buildinfo +4 -0
  162. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/acks.rst.txt +8 -0
  163. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/actions.rst.txt +8 -0
  164. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/amps-statistics.rst.txt +8 -0
  165. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/amps_expressions.rst.txt +8 -0
  166. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/amps_functions.rst.txt +8 -0
  167. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/auxiliary_modules.rst.txt +8 -0
  168. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/config-file-shortcuts.rst.txt +8 -0
  169. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/conflated_topics.rst.txt +8 -0
  170. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/constructing-fields.rst.txt +8 -0
  171. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/daemon.rst.txt +8 -0
  172. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/delta.rst.txt +8 -0
  173. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/distribution.rst.txt +8 -0
  174. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/enrichment.rst.txt +8 -0
  175. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/events.rst.txt +8 -0
  176. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/file_format_versions.rst.txt +8 -0
  177. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/glossary.rst.txt +8 -0
  178. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/ha.rst.txt +8 -0
  179. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/installing_and_starting.rst.txt +8 -0
  180. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/intro.rst.txt +8 -0
  181. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/logging.rst.txt +8 -0
  182. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/messageTypes.rst.txt +8 -0
  183. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/monitoring.rst.txt +8 -0
  184. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/oof.rst.txt +8 -0
  185. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/operation.rst.txt +8 -0
  186. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/pub_sub.rst.txt +8 -0
  187. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/queues.rst.txt +8 -0
  188. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/replication.rst.txt +8 -0
  189. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/securing.rst.txt +8 -0
  190. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/sow.rst.txt +8 -0
  191. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/sow_queries.rst.txt +8 -0
  192. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/transports.rst.txt +8 -0
  193. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/troubleshooting.rst.txt +8 -0
  194. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/txlog.rst.txt +8 -0
  195. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/usecases.rst.txt +8 -0
  196. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/utilities.rst.txt +8 -0
  197. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/views.rst.txt +8 -0
  198. amps-python-client-5.3.4.2/docs/user-guide/html/_sources/index.rst.txt +62 -0
  199. amps-python-client-5.3.4.2/docs/user-guide/html/_static/custom.css +161 -0
  200. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/acks.html +94 -0
  201. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/actions.html +94 -0
  202. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/amps-statistics.html +94 -0
  203. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/amps_expressions.html +94 -0
  204. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/amps_functions.html +94 -0
  205. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/auxiliary_modules.html +94 -0
  206. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/config-file-shortcuts.html +94 -0
  207. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/conflated_topics.html +94 -0
  208. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/constructing-fields.html +94 -0
  209. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/daemon.html +94 -0
  210. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/delta.html +94 -0
  211. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/distribution.html +94 -0
  212. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/enrichment.html +94 -0
  213. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/events.html +94 -0
  214. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/file_format_versions.html +94 -0
  215. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/glossary.html +92 -0
  216. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/ha.html +94 -0
  217. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/installing_and_starting.html +94 -0
  218. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/intro.html +94 -0
  219. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/logging.html +94 -0
  220. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/messageTypes.html +94 -0
  221. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/monitoring.html +94 -0
  222. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/oof.html +94 -0
  223. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/operation.html +94 -0
  224. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/pub_sub.html +94 -0
  225. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/queues.html +94 -0
  226. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/replication.html +94 -0
  227. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/securing.html +94 -0
  228. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/sow.html +94 -0
  229. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/sow_queries.html +94 -0
  230. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/spark.html +819 -0
  231. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/transports.html +94 -0
  232. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/troubleshooting.html +94 -0
  233. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/txlog.html +94 -0
  234. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/usecases.html +94 -0
  235. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/utilities.html +94 -0
  236. amps-python-client-5.3.4.2/docs/user-guide/html/chapters/views.html +94 -0
  237. amps-python-client-5.3.4.2/docs/user-guide/html/genindex.html +133 -0
  238. amps-python-client-5.3.4.2/docs/user-guide/html/index.html +96 -0
  239. amps-python-client-5.3.4.2/docs/user-guide/html/objects.inv +0 -0
  240. amps-python-client-5.3.4.2/docs/user-guide/html/search.html +106 -0
  241. amps-python-client-5.3.4.2/docs/user-guide/html/searchindex.js +1 -0
  242. amps-python-client-5.3.4.2/include/ampspy_bookmarkstore.hpp +63 -0
  243. amps-python-client-5.3.4.2/include/ampspy_compat.h +63 -0
  244. amps-python-client-5.3.4.2/include/ampspy_defs.hpp +181 -0
  245. amps-python-client-5.3.4.2/include/ampspy_recoverypointadapter.hpp +52 -0
  246. amps-python-client-5.3.4.2/include/ampspy_shims.hpp +113 -0
  247. amps-python-client-5.3.4.2/include/ampspy_type_object.hpp +242 -0
  248. amps-python-client-5.3.4.2/include/ampspy_types.hpp +1139 -0
  249. amps-python-client-5.3.4.2/include/ampspyver.h +30 -0
  250. amps-python-client-5.3.4.2/index.html +66 -0
  251. amps-python-client-5.3.4.2/samples/AMPSConsolePublisher.py +59 -0
  252. amps-python-client-5.3.4.2/samples/AMPSConsoleSubscriber.py +63 -0
  253. amps-python-client-5.3.4.2/samples/AMPSFIXBuilderPublisher.py +71 -0
  254. amps-python-client-5.3.4.2/samples/AMPSFIXShredderSubscriber.py +69 -0
  255. amps-python-client-5.3.4.2/samples/AMPSNVFIXBuilderPublisher.py +71 -0
  256. amps-python-client-5.3.4.2/samples/AMPSNVFIXShredderSubscriber.py +67 -0
  257. amps-python-client-5.3.4.2/samples/AMPSPublishForReplay.py +81 -0
  258. amps-python-client-5.3.4.2/samples/AMPSQueueConsumer.py +69 -0
  259. amps-python-client-5.3.4.2/samples/AMPSQueuePublisher.py +59 -0
  260. amps-python-client-5.3.4.2/samples/AMPSSOWConsolePublisher.py +67 -0
  261. amps-python-client-5.3.4.2/samples/AMPSSOWConsoleSubscriber.py +77 -0
  262. amps-python-client-5.3.4.2/samples/AMPSSOWandSubscribeConsoleSubscriber.py +79 -0
  263. amps-python-client-5.3.4.2/samples/AMPSSOWandSubscribeWithOOF.py +108 -0
  264. amps-python-client-5.3.4.2/samples/AMPSSubscribeForReplay.py +128 -0
  265. amps-python-client-5.3.4.2/samples/AMPSUpdateForOOF.py +123 -0
  266. amps-python-client-5.3.4.2/samples/CompositeMessagePublisher.py +84 -0
  267. amps-python-client-5.3.4.2/samples/CompositeMessageSubscriber.py +87 -0
  268. amps-python-client-5.3.4.2/samples/RandomServerChooser.py +66 -0
  269. amps-python-client-5.3.4.2/samples/sample.xml +335 -0
  270. amps-python-client-5.3.4.2/setup.py +210 -0
  271. amps-python-client-5.3.4.2/setup_amps.py +94 -0
  272. amps-python-client-5.3.4.2/src/ampspy_shims.cpp +214 -0
  273. amps-python-client-5.3.4.2/src/ampspy_type_object.cpp +495 -0
  274. amps-python-client-5.3.4.2/src/authenticator.cpp +128 -0
  275. amps-python-client-5.3.4.2/src/bookmarkstore.cpp +246 -0
  276. amps-python-client-5.3.4.2/src/client.cpp +2648 -0
  277. amps-python-client-5.3.4.2/src/client_docs.h +956 -0
  278. amps-python-client-5.3.4.2/src/cmessagehandler.cpp +161 -0
  279. amps-python-client-5.3.4.2/src/command.cpp +164 -0
  280. amps-python-client-5.3.4.2/src/command_docs.h +269 -0
  281. amps-python-client-5.3.4.2/src/compositemessagebuilder.cpp +113 -0
  282. amps-python-client-5.3.4.2/src/compositemessageparser.cpp +151 -0
  283. amps-python-client-5.3.4.2/src/conflatingrecoverypointadapter.cpp +197 -0
  284. amps-python-client-5.3.4.2/src/cpp/include/amps/BlockPublishStore.hpp +2053 -0
  285. amps-python-client-5.3.4.2/src/cpp/include/amps/BlockStore.hpp +677 -0
  286. amps-python-client-5.3.4.2/src/cpp/include/amps/BookmarkStore.hpp +542 -0
  287. amps-python-client-5.3.4.2/src/cpp/include/amps/Buffer.hpp +214 -0
  288. amps-python-client-5.3.4.2/src/cpp/include/amps/CompositeMessageBuilder.hpp +174 -0
  289. amps-python-client-5.3.4.2/src/cpp/include/amps/CompositeMessageParser.hpp +151 -0
  290. amps-python-client-5.3.4.2/src/cpp/include/amps/DefaultServerChooser.hpp +162 -0
  291. amps-python-client-5.3.4.2/src/cpp/include/amps/Field.hpp +719 -0
  292. amps-python-client-5.3.4.2/src/cpp/include/amps/HAClient.hpp +370 -0
  293. amps-python-client-5.3.4.2/src/cpp/include/amps/HAClientImpl.hpp +460 -0
  294. amps-python-client-5.3.4.2/src/cpp/include/amps/HybridPublishStore.hpp +481 -0
  295. amps-python-client-5.3.4.2/src/cpp/include/amps/LoggedBookmarkStore.hpp +1256 -0
  296. amps-python-client-5.3.4.2/src/cpp/include/amps/MMapBookmarkStore.hpp +1283 -0
  297. amps-python-client-5.3.4.2/src/cpp/include/amps/MMapStoreBuffer.hpp +290 -0
  298. amps-python-client-5.3.4.2/src/cpp/include/amps/MemoryBookmarkStore.hpp +1628 -0
  299. amps-python-client-5.3.4.2/src/cpp/include/amps/MemoryPublishStore.hpp +66 -0
  300. amps-python-client-5.3.4.2/src/cpp/include/amps/MemoryStoreBuffer.hpp +244 -0
  301. amps-python-client-5.3.4.2/src/cpp/include/amps/MemorySubscriptionManager.hpp +850 -0
  302. amps-python-client-5.3.4.2/src/cpp/include/amps/Message.hpp +1819 -0
  303. amps-python-client-5.3.4.2/src/cpp/include/amps/MessageRouter.hpp +647 -0
  304. amps-python-client-5.3.4.2/src/cpp/include/amps/PublishStore.hpp +158 -0
  305. amps-python-client-5.3.4.2/src/cpp/include/amps/ReconnectDelayStrategy.hpp +106 -0
  306. amps-python-client-5.3.4.2/src/cpp/include/amps/ReconnectDelayStrategyImpl.hpp +317 -0
  307. amps-python-client-5.3.4.2/src/cpp/include/amps/RecoveryPoint.hpp +323 -0
  308. amps-python-client-5.3.4.2/src/cpp/include/amps/RecoveryPointAdapter.hpp +501 -0
  309. amps-python-client-5.3.4.2/src/cpp/include/amps/RingBookmarkStore.hpp +669 -0
  310. amps-python-client-5.3.4.2/src/cpp/include/amps/SOWRecoveryPointAdapter.hpp +494 -0
  311. amps-python-client-5.3.4.2/src/cpp/include/amps/ServerChooser.hpp +145 -0
  312. amps-python-client-5.3.4.2/src/cpp/include/amps/ServerChooserImpl.hpp +95 -0
  313. amps-python-client-5.3.4.2/src/cpp/include/amps/amps.h +803 -0
  314. amps-python-client-5.3.4.2/src/cpp/include/amps/amps_impl.h +208 -0
  315. amps-python-client-5.3.4.2/src/cpp/include/amps/amps_ssl.h +78 -0
  316. amps-python-client-5.3.4.2/src/cpp/include/amps/ampscrc.hpp +210 -0
  317. amps-python-client-5.3.4.2/src/cpp/include/amps/ampsplusplus.hpp +8850 -0
  318. amps-python-client-5.3.4.2/src/cpp/include/amps/ampsuri.h +84 -0
  319. amps-python-client-5.3.4.2/src/cpp/include/amps/ampsver.h +41 -0
  320. amps-python-client-5.3.4.2/src/cpp/include/amps/ampsver.h.in +41 -0
  321. amps-python-client-5.3.4.2/src/cpp/include/amps/constants.hpp +194 -0
  322. amps-python-client-5.3.4.2/src/cpp/include/amps/util.hpp +1722 -0
  323. amps-python-client-5.3.4.2/src/cpp/src/amps_protocol.c +693 -0
  324. amps-python-client-5.3.4.2/src/cpp/src/amps_ssl.c +489 -0
  325. amps-python-client-5.3.4.2/src/cpp/src/atfork.c +451 -0
  326. amps-python-client-5.3.4.2/src/cpp/src/client.c +498 -0
  327. amps-python-client-5.3.4.2/src/cpp/src/message.c +837 -0
  328. amps-python-client-5.3.4.2/src/cpp/src/message_generated.h +611 -0
  329. amps-python-client-5.3.4.2/src/cpp/src/tcp.c +1517 -0
  330. amps-python-client-5.3.4.2/src/cpp/src/tcps.c +1885 -0
  331. amps-python-client-5.3.4.2/src/cpp/src/transports.c +129 -0
  332. amps-python-client-5.3.4.2/src/cpp/src/unix.c +1002 -0
  333. amps-python-client-5.3.4.2/src/cpp/src/uri.c +301 -0
  334. amps-python-client-5.3.4.2/src/exponentialdelaystrategy.cpp +137 -0
  335. amps-python-client-5.3.4.2/src/failedwritehandler.cpp +116 -0
  336. amps-python-client-5.3.4.2/src/fixbuilder.cpp +146 -0
  337. amps-python-client-5.3.4.2/src/fixeddelaystrategy.cpp +114 -0
  338. amps-python-client-5.3.4.2/src/fixshredder.cpp +105 -0
  339. amps-python-client-5.3.4.2/src/fixshredder_docs.h +38 -0
  340. amps-python-client-5.3.4.2/src/haclient.cpp +691 -0
  341. amps-python-client-5.3.4.2/src/haclient_docs.h +186 -0
  342. amps-python-client-5.3.4.2/src/hybridpublishstore.cpp +137 -0
  343. amps-python-client-5.3.4.2/src/hybridpublishstore_docs.h +31 -0
  344. amps-python-client-5.3.4.2/src/memorybookmarkstore.cpp +373 -0
  345. amps-python-client-5.3.4.2/src/memorybookmarkstore_docs.h +39 -0
  346. amps-python-client-5.3.4.2/src/memorypublishstore.cpp +160 -0
  347. amps-python-client-5.3.4.2/src/memorypublishstore_docs.h +32 -0
  348. amps-python-client-5.3.4.2/src/message.cpp +765 -0
  349. amps-python-client-5.3.4.2/src/message_docs.h +306 -0
  350. amps-python-client-5.3.4.2/src/messagestream.cpp +630 -0
  351. amps-python-client-5.3.4.2/src/messagestream_docs.h +45 -0
  352. amps-python-client-5.3.4.2/src/mmapbookmarkstore.cpp +422 -0
  353. amps-python-client-5.3.4.2/src/nvfixbuilder.cpp +160 -0
  354. amps-python-client-5.3.4.2/src/nvfixbuilder_docs.h +35 -0
  355. amps-python-client-5.3.4.2/src/nvfixshredder.cpp +99 -0
  356. amps-python-client-5.3.4.2/src/nvfixshredder_docs.h +43 -0
  357. amps-python-client-5.3.4.2/src/publishstore.cpp +183 -0
  358. amps-python-client-5.3.4.2/src/raw_wrapper.cpp +765 -0
  359. amps-python-client-5.3.4.2/src/reason.cpp +71 -0
  360. amps-python-client-5.3.4.2/src/recoverypoint.cpp +135 -0
  361. amps-python-client-5.3.4.2/src/recoverypointadapter.cpp +171 -0
  362. amps-python-client-5.3.4.2/src/ringbookmarkstore.cpp +360 -0
  363. amps-python-client-5.3.4.2/src/serverchooser.cpp +245 -0
  364. amps-python-client-5.3.4.2/src/serverchooser_docs.h +41 -0
  365. amps-python-client-5.3.4.2/src/sowrecoverypointadapter.cpp +248 -0
  366. amps-python-client-5.3.4.2/src/store.cpp +62 -0
  367. amps-python-client-5.3.4.2/src/versioninfo.cpp +175 -0
  368. amps-python-client-5.3.4.1/PKG-INFO +0 -112
  369. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/ack-messages.doctree +0 -0
  370. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/content-messages.doctree +0 -0
  371. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/intro.doctree +0 -0
  372. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/logon.doctree +0 -0
  373. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/protocol-reference.doctree +0 -0
  374. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/publishing.doctree +0 -0
  375. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/query-delimiters.doctree +0 -0
  376. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/query-subscribe.doctree +0 -0
  377. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/removing.doctree +0 -0
  378. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/utilities.doctree +0 -0
  379. amps-python-client-5.3.4.1/docs/command-reference/doctrees/environment.pickle +0 -0
  380. amps-python-client-5.3.4.1/docs/command-reference/doctrees/index.doctree +0 -0
  381. amps-python-client-5.3.4.1/docs/command-reference/html/.buildinfo +0 -4
  382. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/ack-messages.rst.txt +0 -32
  383. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/content-messages.rst.txt +0 -27
  384. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/intro.rst.txt +0 -43
  385. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/logon.rst.txt +0 -231
  386. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/protocol-reference.rst.txt +0 -1474
  387. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/publishing.rst.txt +0 -25
  388. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/query-delimiters.rst.txt +0 -12
  389. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/query-subscribe.rst.txt +0 -23
  390. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/removing.rst.txt +0 -6
  391. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/utilities.rst.txt +0 -13
  392. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/index.rst.txt +0 -56
  393. amps-python-client-5.3.4.1/docs/command-reference/html/_static/custom.css +0 -192
  394. amps-python-client-5.3.4.1/docs/command-reference/html/_static/custom.css.backup +0 -161
  395. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/ack-messages.html +0 -417
  396. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/content-messages.html +0 -417
  397. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/intro.html +0 -126
  398. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/logon.html +0 -295
  399. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/protocol-reference.html +0 -1190
  400. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/publishing.html +0 -436
  401. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/query-delimiters.html +0 -173
  402. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/query-subscribe.html +0 -2123
  403. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/removing.html +0 -299
  404. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/utilities.html +0 -287
  405. amps-python-client-5.3.4.1/docs/command-reference/html/genindex.html +0 -97
  406. amps-python-client-5.3.4.1/docs/command-reference/html/index.html +0 -138
  407. amps-python-client-5.3.4.1/docs/command-reference/html/objects.inv +0 -0
  408. amps-python-client-5.3.4.1/docs/command-reference/html/search.html +0 -107
  409. amps-python-client-5.3.4.1/docs/command-reference/html/searchindex.js +0 -1
  410. amps-python-client-5.3.4.1/docs/html/.buildinfo +0 -4
  411. amps-python-client-5.3.4.1/docs/html/code.html +0 -6503
  412. amps-python-client-5.3.4.1/docs/html/genindex.html +0 -1361
  413. amps-python-client-5.3.4.1/docs/html/index.html +0 -131
  414. amps-python-client-5.3.4.1/docs/html/objects.inv +0 -0
  415. amps-python-client-5.3.4.1/docs/html/py-modindex.html +0 -111
  416. amps-python-client-5.3.4.1/docs/html/search.html +0 -107
  417. amps-python-client-5.3.4.1/docs/html/searchindex.js +0 -1
  418. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/advanced-topics.doctree +0 -0
  419. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/cpp-compiler-list.doctree +0 -0
  420. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/cpp-feature-table.doctree +0 -0
  421. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/creating-commands.doctree +0 -0
  422. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/deltas.doctree +0 -0
  423. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/error-handling.doctree +0 -0
  424. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/exceptions.doctree +0 -0
  425. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/first-program.doctree +0 -0
  426. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/high-availability.doctree +0 -0
  427. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/installing.doctree +0 -0
  428. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/introduction.doctree +0 -0
  429. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/moving-from-python-lite.doctree +0 -0
  430. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/performance-tips.doctree +0 -0
  431. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/queues.doctree +0 -0
  432. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/sow.doctree +0 -0
  433. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/subscriptions.doctree +0 -0
  434. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/utilities.doctree +0 -0
  435. amps-python-client-5.3.4.1/docs/python/doctrees/environment.pickle +0 -0
  436. amps-python-client-5.3.4.1/docs/python/doctrees/index.doctree +0 -0
  437. amps-python-client-5.3.4.1/docs/python/html/.buildinfo +0 -4
  438. amps-python-client-5.3.4.1/docs/python/html/_images/caution.svg +0 -25
  439. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/advanced-topics.rst.txt +0 -398
  440. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/cpp-feature-table.rst.txt +0 -26
  441. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/creating-commands.rst.txt +0 -159
  442. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/deltas.rst.txt +0 -79
  443. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/error-handling.rst.txt +0 -482
  444. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/exceptions.rst.txt +0 -128
  445. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/first-program.rst.txt +0 -142
  446. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/high-availability.rst.txt +0 -876
  447. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/installing.rst.txt +0 -184
  448. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/introduction.rst.txt +0 -50
  449. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/moving-from-python-lite.rst.txt +0 -32
  450. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/performance-tips.rst.txt +0 -434
  451. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/queues.rst.txt +0 -282
  452. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/sow.rst.txt +0 -292
  453. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/subscriptions.rst.txt +0 -374
  454. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/utilities.rst.txt +0 -214
  455. amps-python-client-5.3.4.1/docs/python/html/_static/custom.css +0 -192
  456. amps-python-client-5.3.4.1/docs/python/html/_static/custom.css.backup +0 -161
  457. amps-python-client-5.3.4.1/docs/python/html/chapters/advanced-topics.html +0 -447
  458. amps-python-client-5.3.4.1/docs/python/html/chapters/cpp-compiler-list.html +0 -92
  459. amps-python-client-5.3.4.1/docs/python/html/chapters/cpp-feature-table.html +0 -156
  460. amps-python-client-5.3.4.1/docs/python/html/chapters/creating-commands.html +0 -2837
  461. amps-python-client-5.3.4.1/docs/python/html/chapters/deltas.html +0 -169
  462. amps-python-client-5.3.4.1/docs/python/html/chapters/error-handling.html +0 -746
  463. amps-python-client-5.3.4.1/docs/python/html/chapters/exceptions.html +0 -272
  464. amps-python-client-5.3.4.1/docs/python/html/chapters/first-program.html +0 -499
  465. amps-python-client-5.3.4.1/docs/python/html/chapters/high-availability.html +0 -1014
  466. amps-python-client-5.3.4.1/docs/python/html/chapters/installing.html +0 -264
  467. amps-python-client-5.3.4.1/docs/python/html/chapters/introduction.html +0 -245
  468. amps-python-client-5.3.4.1/docs/python/html/chapters/moving-from-python-lite.html +0 -118
  469. amps-python-client-5.3.4.1/docs/python/html/chapters/performance-tips.html +0 -499
  470. amps-python-client-5.3.4.1/docs/python/html/chapters/queues.html +0 -352
  471. amps-python-client-5.3.4.1/docs/python/html/chapters/sow.html +0 -381
  472. amps-python-client-5.3.4.1/docs/python/html/chapters/subscriptions.html +0 -535
  473. amps-python-client-5.3.4.1/docs/python/html/chapters/utilities.html +0 -302
  474. amps-python-client-5.3.4.1/docs/python/html/genindex.html +0 -351
  475. amps-python-client-5.3.4.1/docs/python/html/index.html +0 -380
  476. amps-python-client-5.3.4.1/docs/python/html/objects.inv +0 -0
  477. amps-python-client-5.3.4.1/docs/python/html/search.html +0 -107
  478. amps-python-client-5.3.4.1/docs/python/html/searchindex.js +0 -1
  479. amps-python-client-5.3.4.1/docs/python-quickstart/doctrees/chapters/crankitup.doctree +0 -0
  480. amps-python-client-5.3.4.1/docs/python-quickstart/doctrees/chapters/equipment.doctree +0 -0
  481. amps-python-client-5.3.4.1/docs/python-quickstart/doctrees/environment.pickle +0 -0
  482. amps-python-client-5.3.4.1/docs/python-quickstart/doctrees/index.doctree +0 -0
  483. amps-python-client-5.3.4.1/docs/python-quickstart/html/.buildinfo +0 -4
  484. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/custom.css +0 -192
  485. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/custom.css.backup +0 -161
  486. amps-python-client-5.3.4.1/docs/python-quickstart/html/chapters/crankitup.html +0 -271
  487. amps-python-client-5.3.4.1/docs/python-quickstart/html/chapters/equipment.html +0 -105
  488. amps-python-client-5.3.4.1/docs/python-quickstart/html/genindex.html +0 -97
  489. amps-python-client-5.3.4.1/docs/python-quickstart/html/index.html +0 -382
  490. amps-python-client-5.3.4.1/docs/python-quickstart/html/objects.inv +0 -0
  491. amps-python-client-5.3.4.1/docs/python-quickstart/html/search.html +0 -107
  492. amps-python-client-5.3.4.1/docs/python-quickstart/html/searchindex.js +0 -1
  493. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/acks.doctree +0 -0
  494. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/actions.doctree +0 -0
  495. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/amps-statistics.doctree +0 -0
  496. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/amps_expressions.doctree +0 -0
  497. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/amps_functions.doctree +0 -0
  498. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/auxiliary_modules.doctree +0 -0
  499. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/config-file-shortcuts.doctree +0 -0
  500. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/conflated_topics.doctree +0 -0
  501. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/constructing-fields.doctree +0 -0
  502. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/daemon.doctree +0 -0
  503. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/delta.doctree +0 -0
  504. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/distribution.doctree +0 -0
  505. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/enrichment.doctree +0 -0
  506. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/events.doctree +0 -0
  507. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/file_format_versions.doctree +0 -0
  508. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/glossary.doctree +0 -0
  509. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/ha.doctree +0 -0
  510. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/installing_and_starting.doctree +0 -0
  511. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/intro.doctree +0 -0
  512. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/logging.doctree +0 -0
  513. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/messageTypes.doctree +0 -0
  514. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/monitoring.doctree +0 -0
  515. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/oof.doctree +0 -0
  516. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/operation.doctree +0 -0
  517. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/pub_sub.doctree +0 -0
  518. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/queues.doctree +0 -0
  519. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/replication.doctree +0 -0
  520. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/securing.doctree +0 -0
  521. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/sow.doctree +0 -0
  522. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/sow_queries.doctree +0 -0
  523. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/spark.doctree +0 -0
  524. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/transports.doctree +0 -0
  525. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/troubleshooting.doctree +0 -0
  526. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/txlog.doctree +0 -0
  527. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/usecases.doctree +0 -0
  528. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/utilities.doctree +0 -0
  529. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/views.doctree +0 -0
  530. amps-python-client-5.3.4.1/docs/user-guide/doctrees/environment.pickle +0 -0
  531. amps-python-client-5.3.4.1/docs/user-guide/doctrees/index.doctree +0 -0
  532. amps-python-client-5.3.4.1/docs/user-guide/html/.buildinfo +0 -4
  533. amps-python-client-5.3.4.1/docs/user-guide/html/_images/AMPS-Queues-Intro.svg +0 -1330
  534. amps-python-client-5.3.4.1/docs/user-guide/html/_images/GeoRepl.png +0 -0
  535. amps-python-client-5.3.4.1/docs/user-guide/html/_images/HA_async_ack.png +0 -0
  536. amps-python-client-5.3.4.1/docs/user-guide/html/_images/HA_sync_ack.png +0 -0
  537. amps-python-client-5.3.4.1/docs/user-guide/html/_images/Hot-Hot-Replication.png +0 -0
  538. amps-python-client-5.3.4.1/docs/user-guide/html/_images/MessageOrdering.svg +0 -235
  539. amps-python-client-5.3.4.1/docs/user-guide/html/_images/OOF5.png +0 -0
  540. amps-python-client-5.3.4.1/docs/user-guide/html/_images/OOF6.png +0 -0
  541. amps-python-client-5.3.4.1/docs/user-guide/html/_images/OOF7.png +0 -0
  542. amps-python-client-5.3.4.1/docs/user-guide/html/_images/OOF8.png +0 -0
  543. amps-python-client-5.3.4.1/docs/user-guide/html/_images/PubSub1.svg +0 -1
  544. amps-python-client-5.3.4.1/docs/user-guide/html/_images/PubSub2.svg +0 -1
  545. amps-python-client-5.3.4.1/docs/user-guide/html/_images/SOWAndSubscribeAndReplace.svg +0 -684
  546. amps-python-client-5.3.4.1/docs/user-guide/html/_images/SOWQuery1.svg +0 -402
  547. amps-python-client-5.3.4.1/docs/user-guide/html/_images/SOWQuery2.svg +0 -505
  548. amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig1.svg +0 -1
  549. amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig2.svg +0 -1
  550. amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig3.svg +0 -1
  551. amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig4.svg +0 -1
  552. amps-python-client-5.3.4.1/docs/user-guide/html/_images/caution.png +0 -0
  553. amps-python-client-5.3.4.1/docs/user-guide/html/_images/caution.svg +0 -25
  554. amps-python-client-5.3.4.1/docs/user-guide/html/_images/chicago_group.png +0 -0
  555. amps-python-client-5.3.4.1/docs/user-guide/html/_images/delta_original_messages.png +0 -0
  556. amps-python-client-5.3.4.1/docs/user-guide/html/_images/delta_update_message.png +0 -0
  557. amps-python-client-5.3.4.1/docs/user-guide/html/_images/important.png +0 -0
  558. amps-python-client-5.3.4.1/docs/user-guide/html/_images/important.svg +0 -25
  559. amps-python-client-5.3.4.1/docs/user-guide/html/_images/inline_view_conflation.svg +0 -1
  560. amps-python-client-5.3.4.1/docs/user-guide/html/_images/paginated_subs_pub.png +0 -0
  561. amps-python-client-5.3.4.1/docs/user-guide/html/_images/paginated_subs_sub.png +0 -0
  562. amps-python-client-5.3.4.1/docs/user-guide/html/_images/queue_usage_overview.svg +0 -627
  563. amps-python-client-5.3.4.1/docs/user-guide/html/_images/replication_hub.png +0 -0
  564. amps-python-client-5.3.4.1/docs/user-guide/html/_images/replication_scenario_with_ha.png +0 -0
  565. amps-python-client-5.3.4.1/docs/user-guide/html/_images/sow_overview_1.svg +0 -248
  566. amps-python-client-5.3.4.1/docs/user-guide/html/_images/sow_overview_2.svg +0 -183
  567. amps-python-client-5.3.4.1/docs/user-guide/html/_images/sow_update_sequence.svg +0 -1
  568. amps-python-client-5.3.4.1/docs/user-guide/html/_images/tip.png +0 -0
  569. amps-python-client-5.3.4.1/docs/user-guide/html/_images/tip.svg +0 -31
  570. amps-python-client-5.3.4.1/docs/user-guide/html/_images/warning.png +0 -0
  571. amps-python-client-5.3.4.1/docs/user-guide/html/_images/warning.svg +0 -23
  572. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/acks.rst.txt +0 -232
  573. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/actions.rst.txt +0 -111
  574. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/amps-statistics.rst.txt +0 -358
  575. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/amps_expressions.rst.txt +0 -83
  576. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/amps_functions.rst.txt +0 -11
  577. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/auxiliary_modules.rst.txt +0 -86
  578. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/config-file-shortcuts.rst.txt +0 -9
  579. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/conflated_topics.rst.txt +0 -111
  580. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/constructing-fields.rst.txt +0 -269
  581. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/daemon.rst.txt +0 -232
  582. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/delta.rst.txt +0 -556
  583. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/distribution.rst.txt +0 -186
  584. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/enrichment.rst.txt +0 -191
  585. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/events.rst.txt +0 -39
  586. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/file_format_versions.rst.txt +0 -203
  587. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/glossary.rst.txt +0 -101
  588. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/ha.rst.txt +0 -465
  589. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/installing_and_starting.rst.txt +0 -23
  590. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/intro.rst.txt +0 -116
  591. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/logging.rst.txt +0 -34
  592. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/messageTypes.rst.txt +0 -1398
  593. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/monitoring.rst.txt +0 -326
  594. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/oof.rst.txt +0 -312
  595. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/operation.rst.txt +0 -27
  596. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/pub_sub.rst.txt +0 -49
  597. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/queues.rst.txt +0 -1351
  598. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/replication.rst.txt +0 -1228
  599. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/securing.rst.txt +0 -657
  600. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/sow.rst.txt +0 -57
  601. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/sow_queries.rst.txt +0 -25
  602. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/transports.rst.txt +0 -291
  603. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/troubleshooting.rst.txt +0 -517
  604. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/txlog.rst.txt +0 -62
  605. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/usecases.rst.txt +0 -21
  606. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/utilities.rst.txt +0 -62
  607. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/views.rst.txt +0 -175
  608. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/index.rst.txt +0 -110
  609. amps-python-client-5.3.4.1/docs/user-guide/html/_static/custom.css +0 -192
  610. amps-python-client-5.3.4.1/docs/user-guide/html/_static/custom.css.backup +0 -161
  611. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/acks.html +0 -289
  612. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/actions.html +0 -3782
  613. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/amps-statistics.html +0 -439
  614. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/amps_expressions.html +0 -1552
  615. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/amps_functions.html +0 -1626
  616. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/auxiliary_modules.html +0 -2548
  617. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/config-file-shortcuts.html +0 -508
  618. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/conflated_topics.html +0 -328
  619. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/constructing-fields.html +0 -447
  620. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/daemon.html +0 -295
  621. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/delta.html +0 -609
  622. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/distribution.html +0 -246
  623. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/enrichment.html +0 -264
  624. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/events.html +0 -449
  625. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/file_format_versions.html +0 -229
  626. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/glossary.html +0 -215
  627. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/ha.html +0 -978
  628. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/installing_and_starting.html +0 -357
  629. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/intro.html +0 -572
  630. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/logging.html +0 -972
  631. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/messageTypes.html +0 -1280
  632. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/monitoring.html +0 -718
  633. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/oof.html +0 -341
  634. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/operation.html +0 -1515
  635. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/pub_sub.html +0 -934
  636. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/queues.html +0 -1767
  637. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/replication.html +0 -1777
  638. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/securing.html +0 -697
  639. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/sow.html +0 -1038
  640. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/sow_queries.html +0 -621
  641. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/spark.html +0 -819
  642. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/transports.html +0 -352
  643. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/troubleshooting.html +0 -530
  644. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/txlog.html +0 -1013
  645. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/usecases.html +0 -288
  646. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/utilities.html +0 -133
  647. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/views.html +0 -1120
  648. amps-python-client-5.3.4.1/docs/user-guide/html/genindex.html +0 -1261
  649. amps-python-client-5.3.4.1/docs/user-guide/html/index.html +0 -163
  650. amps-python-client-5.3.4.1/docs/user-guide/html/objects.inv +0 -0
  651. amps-python-client-5.3.4.1/docs/user-guide/html/search.html +0 -106
  652. amps-python-client-5.3.4.1/docs/user-guide/html/searchindex.js +0 -1
  653. amps-python-client-5.3.4.1/include/ampspy_bookmarkstore.hpp +0 -63
  654. amps-python-client-5.3.4.1/include/ampspy_compat.h +0 -63
  655. amps-python-client-5.3.4.1/include/ampspy_defs.hpp +0 -181
  656. amps-python-client-5.3.4.1/include/ampspy_recoverypointadapter.hpp +0 -52
  657. amps-python-client-5.3.4.1/include/ampspy_shims.hpp +0 -113
  658. amps-python-client-5.3.4.1/include/ampspy_type_object.hpp +0 -242
  659. amps-python-client-5.3.4.1/include/ampspy_types.hpp +0 -1139
  660. amps-python-client-5.3.4.1/include/ampspyver.h +0 -30
  661. amps-python-client-5.3.4.1/index.html +0 -66
  662. amps-python-client-5.3.4.1/samples/AMPSConsolePublisher.py +0 -59
  663. amps-python-client-5.3.4.1/samples/AMPSConsoleSubscriber.py +0 -63
  664. amps-python-client-5.3.4.1/samples/AMPSFIXBuilderPublisher.py +0 -71
  665. amps-python-client-5.3.4.1/samples/AMPSFIXShredderSubscriber.py +0 -69
  666. amps-python-client-5.3.4.1/samples/AMPSNVFIXBuilderPublisher.py +0 -71
  667. amps-python-client-5.3.4.1/samples/AMPSNVFIXShredderSubscriber.py +0 -67
  668. amps-python-client-5.3.4.1/samples/AMPSPublishForReplay.py +0 -81
  669. amps-python-client-5.3.4.1/samples/AMPSQueueConsumer.py +0 -69
  670. amps-python-client-5.3.4.1/samples/AMPSQueuePublisher.py +0 -59
  671. amps-python-client-5.3.4.1/samples/AMPSSOWConsolePublisher.py +0 -67
  672. amps-python-client-5.3.4.1/samples/AMPSSOWConsoleSubscriber.py +0 -77
  673. amps-python-client-5.3.4.1/samples/AMPSSOWandSubscribeConsoleSubscriber.py +0 -79
  674. amps-python-client-5.3.4.1/samples/AMPSSOWandSubscribeWithOOF.py +0 -108
  675. amps-python-client-5.3.4.1/samples/AMPSSubscribeForReplay.py +0 -128
  676. amps-python-client-5.3.4.1/samples/AMPSUpdateForOOF.py +0 -123
  677. amps-python-client-5.3.4.1/samples/CompositeMessagePublisher.py +0 -84
  678. amps-python-client-5.3.4.1/samples/CompositeMessageSubscriber.py +0 -87
  679. amps-python-client-5.3.4.1/samples/RandomServerChooser.py +0 -41
  680. amps-python-client-5.3.4.1/samples/sample.xml +0 -335
  681. amps-python-client-5.3.4.1/setup.py +0 -209
  682. amps-python-client-5.3.4.1/setup_amps.py +0 -94
  683. amps-python-client-5.3.4.1/src/ampspy_shims.cpp +0 -203
  684. amps-python-client-5.3.4.1/src/ampspy_type_object.cpp +0 -484
  685. amps-python-client-5.3.4.1/src/authenticator.cpp +0 -128
  686. amps-python-client-5.3.4.1/src/bookmarkstore.cpp +0 -238
  687. amps-python-client-5.3.4.1/src/client.cpp +0 -2430
  688. amps-python-client-5.3.4.1/src/client_docs.h +0 -956
  689. amps-python-client-5.3.4.1/src/cmessagehandler.cpp +0 -151
  690. amps-python-client-5.3.4.1/src/command.cpp +0 -164
  691. amps-python-client-5.3.4.1/src/command_docs.h +0 -194
  692. amps-python-client-5.3.4.1/src/compositemessagebuilder.cpp +0 -111
  693. amps-python-client-5.3.4.1/src/compositemessageparser.cpp +0 -146
  694. amps-python-client-5.3.4.1/src/conflatingrecoverypointadapter.cpp +0 -194
  695. amps-python-client-5.3.4.1/src/cpp/include/amps/BlockPublishStore.hpp +0 -2053
  696. amps-python-client-5.3.4.1/src/cpp/include/amps/BlockStore.hpp +0 -677
  697. amps-python-client-5.3.4.1/src/cpp/include/amps/BookmarkStore.hpp +0 -542
  698. amps-python-client-5.3.4.1/src/cpp/include/amps/Buffer.hpp +0 -214
  699. amps-python-client-5.3.4.1/src/cpp/include/amps/CompositeMessageBuilder.hpp +0 -174
  700. amps-python-client-5.3.4.1/src/cpp/include/amps/CompositeMessageParser.hpp +0 -151
  701. amps-python-client-5.3.4.1/src/cpp/include/amps/DefaultServerChooser.hpp +0 -162
  702. amps-python-client-5.3.4.1/src/cpp/include/amps/Field.hpp +0 -719
  703. amps-python-client-5.3.4.1/src/cpp/include/amps/HAClient.hpp +0 -370
  704. amps-python-client-5.3.4.1/src/cpp/include/amps/HAClientImpl.hpp +0 -460
  705. amps-python-client-5.3.4.1/src/cpp/include/amps/HybridPublishStore.hpp +0 -481
  706. amps-python-client-5.3.4.1/src/cpp/include/amps/LoggedBookmarkStore.hpp +0 -1255
  707. amps-python-client-5.3.4.1/src/cpp/include/amps/MMapBookmarkStore.hpp +0 -1283
  708. amps-python-client-5.3.4.1/src/cpp/include/amps/MMapStoreBuffer.hpp +0 -290
  709. amps-python-client-5.3.4.1/src/cpp/include/amps/MemoryBookmarkStore.hpp +0 -1622
  710. amps-python-client-5.3.4.1/src/cpp/include/amps/MemoryPublishStore.hpp +0 -66
  711. amps-python-client-5.3.4.1/src/cpp/include/amps/MemoryStoreBuffer.hpp +0 -244
  712. amps-python-client-5.3.4.1/src/cpp/include/amps/MemorySubscriptionManager.hpp +0 -850
  713. amps-python-client-5.3.4.1/src/cpp/include/amps/Message.hpp +0 -1819
  714. amps-python-client-5.3.4.1/src/cpp/include/amps/MessageRouter.hpp +0 -618
  715. amps-python-client-5.3.4.1/src/cpp/include/amps/PublishStore.hpp +0 -158
  716. amps-python-client-5.3.4.1/src/cpp/include/amps/ReconnectDelayStrategy.hpp +0 -106
  717. amps-python-client-5.3.4.1/src/cpp/include/amps/ReconnectDelayStrategyImpl.hpp +0 -317
  718. amps-python-client-5.3.4.1/src/cpp/include/amps/RecoveryPoint.hpp +0 -323
  719. amps-python-client-5.3.4.1/src/cpp/include/amps/RecoveryPointAdapter.hpp +0 -501
  720. amps-python-client-5.3.4.1/src/cpp/include/amps/RingBookmarkStore.hpp +0 -669
  721. amps-python-client-5.3.4.1/src/cpp/include/amps/SOWRecoveryPointAdapter.hpp +0 -490
  722. amps-python-client-5.3.4.1/src/cpp/include/amps/ServerChooser.hpp +0 -145
  723. amps-python-client-5.3.4.1/src/cpp/include/amps/ServerChooserImpl.hpp +0 -95
  724. amps-python-client-5.3.4.1/src/cpp/include/amps/amps.h +0 -775
  725. amps-python-client-5.3.4.1/src/cpp/include/amps/amps_impl.h +0 -204
  726. amps-python-client-5.3.4.1/src/cpp/include/amps/amps_ssl.h +0 -78
  727. amps-python-client-5.3.4.1/src/cpp/include/amps/ampscrc.hpp +0 -210
  728. amps-python-client-5.3.4.1/src/cpp/include/amps/ampsplusplus.hpp +0 -8817
  729. amps-python-client-5.3.4.1/src/cpp/include/amps/ampsuri.h +0 -84
  730. amps-python-client-5.3.4.1/src/cpp/include/amps/ampsver.h +0 -41
  731. amps-python-client-5.3.4.1/src/cpp/include/amps/ampsver.h.in +0 -41
  732. amps-python-client-5.3.4.1/src/cpp/include/amps/constants.hpp +0 -194
  733. amps-python-client-5.3.4.1/src/cpp/include/amps/util.hpp +0 -1692
  734. amps-python-client-5.3.4.1/src/cpp/src/amps_protocol.c +0 -688
  735. amps-python-client-5.3.4.1/src/cpp/src/amps_ssl.c +0 -489
  736. amps-python-client-5.3.4.1/src/cpp/src/atfork.c +0 -446
  737. amps-python-client-5.3.4.1/src/cpp/src/client.c +0 -483
  738. amps-python-client-5.3.4.1/src/cpp/src/message.c +0 -837
  739. amps-python-client-5.3.4.1/src/cpp/src/message_generated.h +0 -611
  740. amps-python-client-5.3.4.1/src/cpp/src/tcp.c +0 -1489
  741. amps-python-client-5.3.4.1/src/cpp/src/tcps.c +0 -1894
  742. amps-python-client-5.3.4.1/src/cpp/src/transports.c +0 -123
  743. amps-python-client-5.3.4.1/src/cpp/src/unix.c +0 -984
  744. amps-python-client-5.3.4.1/src/cpp/src/uri.c +0 -301
  745. amps-python-client-5.3.4.1/src/exponentialdelaystrategy.cpp +0 -137
  746. amps-python-client-5.3.4.1/src/failedwritehandler.cpp +0 -116
  747. amps-python-client-5.3.4.1/src/fixbuilder.cpp +0 -146
  748. amps-python-client-5.3.4.1/src/fixeddelaystrategy.cpp +0 -114
  749. amps-python-client-5.3.4.1/src/fixshredder.cpp +0 -105
  750. amps-python-client-5.3.4.1/src/fixshredder_docs.h +0 -38
  751. amps-python-client-5.3.4.1/src/haclient.cpp +0 -691
  752. amps-python-client-5.3.4.1/src/haclient_docs.h +0 -132
  753. amps-python-client-5.3.4.1/src/hybridpublishstore.cpp +0 -137
  754. amps-python-client-5.3.4.1/src/hybridpublishstore_docs.h +0 -31
  755. amps-python-client-5.3.4.1/src/memorybookmarkstore.cpp +0 -373
  756. amps-python-client-5.3.4.1/src/memorybookmarkstore_docs.h +0 -39
  757. amps-python-client-5.3.4.1/src/memorypublishstore.cpp +0 -160
  758. amps-python-client-5.3.4.1/src/memorypublishstore_docs.h +0 -32
  759. amps-python-client-5.3.4.1/src/message.cpp +0 -765
  760. amps-python-client-5.3.4.1/src/message_docs.h +0 -306
  761. amps-python-client-5.3.4.1/src/messagestream.cpp +0 -623
  762. amps-python-client-5.3.4.1/src/messagestream_docs.h +0 -45
  763. amps-python-client-5.3.4.1/src/mmapbookmarkstore.cpp +0 -422
  764. amps-python-client-5.3.4.1/src/nvfixbuilder.cpp +0 -160
  765. amps-python-client-5.3.4.1/src/nvfixbuilder_docs.h +0 -33
  766. amps-python-client-5.3.4.1/src/nvfixshredder.cpp +0 -99
  767. amps-python-client-5.3.4.1/src/nvfixshredder_docs.h +0 -39
  768. amps-python-client-5.3.4.1/src/publishstore.cpp +0 -183
  769. amps-python-client-5.3.4.1/src/raw_wrapper.cpp +0 -756
  770. amps-python-client-5.3.4.1/src/reason.cpp +0 -71
  771. amps-python-client-5.3.4.1/src/recoverypoint.cpp +0 -135
  772. amps-python-client-5.3.4.1/src/recoverypointadapter.cpp +0 -171
  773. amps-python-client-5.3.4.1/src/ringbookmarkstore.cpp +0 -360
  774. amps-python-client-5.3.4.1/src/serverchooser.cpp +0 -245
  775. amps-python-client-5.3.4.1/src/serverchooser_docs.h +0 -39
  776. amps-python-client-5.3.4.1/src/sowrecoverypointadapter.cpp +0 -248
  777. amps-python-client-5.3.4.1/src/store.cpp +0 -62
  778. amps-python-client-5.3.4.1/src/versioninfo.cpp +0 -175
  779. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/HISTORY +0 -0
  780. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/LICENSE +0 -0
  781. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/README.md +0 -0
  782. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/ajax-loader.gif +0 -0
  783. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/alabaster.css +0 -0
  784. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/basic.css +0 -0
  785. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/comment-bright.png +0 -0
  786. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/comment-close.png +0 -0
  787. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/comment.png +0 -0
  788. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/doctools.js +0 -0
  789. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/down-pressed.png +0 -0
  790. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/down.png +0 -0
  791. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/file.png +0 -0
  792. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/flag_logo.png +0 -0
  793. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/flag_logo.svg +0 -0
  794. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/jquery-3.1.0.js +0 -0
  795. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/jquery.js +0 -0
  796. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/minus.png +0 -0
  797. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/plus.png +0 -0
  798. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/pygments.css +0 -0
  799. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/searchtools.js +0 -0
  800. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/underscore-1.3.1.js +0 -0
  801. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/underscore.js +0 -0
  802. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/up-pressed.png +0 -0
  803. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/up.png +0 -0
  804. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/websupport.js +0 -0
  805. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_sources/code.rst.txt +0 -0
  806. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_sources/index.rst.txt +0 -0
  807. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/ajax-loader.gif +0 -0
  808. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/basic.css +0 -0
  809. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/classic.css +0 -0
  810. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/comment-bright.png +0 -0
  811. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/comment-close.png +0 -0
  812. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/comment.png +0 -0
  813. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/default.css +0 -0
  814. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/doctools.js +0 -0
  815. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/down-pressed.png +0 -0
  816. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/down.png +0 -0
  817. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/file.png +0 -0
  818. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/jquery-3.1.0.js +0 -0
  819. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/jquery.js +0 -0
  820. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/minus.png +0 -0
  821. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/plus.png +0 -0
  822. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/pygments.css +0 -0
  823. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/searchtools.js +0 -0
  824. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/sidebar.js +0 -0
  825. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/underscore-1.3.1.js +0 -0
  826. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/underscore.js +0 -0
  827. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/up-pressed.png +0 -0
  828. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/up.png +0 -0
  829. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/websupport.js +0 -0
  830. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_images/caution.png +0 -0
  831. {amps-python-client-5.3.4.1/docs/command-reference → amps-python-client-5.3.4.2/docs/python}/html/_images/caution.svg +0 -0
  832. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_images/connection_string.svg +0 -0
  833. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_images/important.png +0 -0
  834. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_images/important.svg +0 -0
  835. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_images/tip.png +0 -0
  836. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_images/tip.svg +0 -0
  837. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_images/warning.png +0 -0
  838. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_sources/chapters/cpp-compiler-list.rst.txt +0 -0
  839. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_sources/index.rst.txt +0 -0
  840. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/ajax-loader.gif +0 -0
  841. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/alabaster.css +0 -0
  842. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/basic.css +0 -0
  843. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/comment-bright.png +0 -0
  844. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/comment-close.png +0 -0
  845. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/comment.png +0 -0
  846. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/doctools.js +0 -0
  847. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/down-pressed.png +0 -0
  848. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/down.png +0 -0
  849. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/file.png +0 -0
  850. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/flag_logo.png +0 -0
  851. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/flag_logo.svg +0 -0
  852. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/jquery-3.1.0.js +0 -0
  853. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/jquery.js +0 -0
  854. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/minus.png +0 -0
  855. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/plus.png +0 -0
  856. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/pygments.css +0 -0
  857. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/searchtools.js +0 -0
  858. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/underscore-1.3.1.js +0 -0
  859. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/underscore.js +0 -0
  860. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/up-pressed.png +0 -0
  861. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/up.png +0 -0
  862. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/websupport.js +0 -0
  863. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_sources/chapters/crankitup.rst.txt +0 -0
  864. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_sources/chapters/equipment.rst.txt +0 -0
  865. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_sources/index.rst.txt +0 -0
  866. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/ajax-loader.gif +0 -0
  867. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/alabaster.css +0 -0
  868. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/basic.css +0 -0
  869. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/comment-bright.png +0 -0
  870. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/comment-close.png +0 -0
  871. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/comment.png +0 -0
  872. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/doctools.js +0 -0
  873. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/down-pressed.png +0 -0
  874. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/down.png +0 -0
  875. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/file.png +0 -0
  876. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/flag_logo.png +0 -0
  877. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/flag_logo.svg +0 -0
  878. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/jquery-3.1.0.js +0 -0
  879. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/jquery.js +0 -0
  880. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/minus.png +0 -0
  881. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/plus.png +0 -0
  882. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/pygments.css +0 -0
  883. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/searchtools.js +0 -0
  884. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/underscore-1.3.1.js +0 -0
  885. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/underscore.js +0 -0
  886. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/up-pressed.png +0 -0
  887. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/up.png +0 -0
  888. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/websupport.js +0 -0
  889. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/resources/custom.css +0 -0
  890. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/resources/flag_logo.svg +0 -0
  891. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_sources/chapters/spark.rst.txt +0 -0
  892. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/ajax-loader.gif +0 -0
  893. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/alabaster.css +0 -0
  894. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/basic.css +0 -0
  895. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/comment-bright.png +0 -0
  896. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/comment-close.png +0 -0
  897. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/comment.png +0 -0
  898. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/doctools.js +0 -0
  899. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/down-pressed.png +0 -0
  900. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/down.png +0 -0
  901. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/file.png +0 -0
  902. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/flag_logo.png +0 -0
  903. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/flag_logo.svg +0 -0
  904. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/jquery-3.1.0.js +0 -0
  905. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/jquery.js +0 -0
  906. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/minus.png +0 -0
  907. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/plus.png +0 -0
  908. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/pygments.css +0 -0
  909. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/searchtools.js +0 -0
  910. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/underscore-1.3.1.js +0 -0
  911. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/underscore.js +0 -0
  912. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/up-pressed.png +0 -0
  913. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/up.png +0 -0
  914. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/websupport.js +0 -0
  915. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/src/cpp/include/amps/amps_generated.h +0 -0
  916. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/src/cpp/src/amps_protocol_generated.h +0 -0
  917. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/src/cpp/src/makefile +0 -0
@@ -1,3782 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
-
4
-
5
- <html xmlns="http://www.w3.org/1999/xhtml">
6
- <head>
7
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
-
9
- <title>24. Automating AMPS With Actions &#8212; AMPS User Guide develop documentation</title>
10
-
11
- <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
12
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13
-
14
- <script type="text/javascript">
15
- var DOCUMENTATION_OPTIONS = {
16
- URL_ROOT: '../',
17
- VERSION: 'develop',
18
- COLLAPSE_INDEX: false,
19
- FILE_SUFFIX: '.html',
20
- HAS_SOURCE: true,
21
- SOURCELINK_SUFFIX: '.txt'
22
- };
23
- </script>
24
- <script type="text/javascript" src="../_static/jquery.js"></script>
25
- <script type="text/javascript" src="../_static/underscore.js"></script>
26
- <script type="text/javascript" src="../_static/doctools.js"></script>
27
- <link rel="index" title="Index" href="../genindex.html" />
28
- <link rel="search" title="Search" href="../search.html" />
29
- <link rel="next" title="25. Replicating Messages Between Instances" href="replication.html" />
30
- <link rel="prev" title="23. Monitoring Interface" href="monitoring.html" />
31
-
32
- <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
33
-
34
-
35
- <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
36
-
37
- </head>
38
- <body role="document">
39
- <div class="document">
40
-
41
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
42
- <div class="sphinxsidebarwrapper">
43
- <p class="logo"><a href="../index.html">
44
- <img class="logo" src="../_static/flag_logo.png" alt="Logo"/>
45
- </a></p>
46
- <h3><a href="../index.html">Table Of Contents</a></h3>
47
- <ul>
48
- <li><a class="reference internal" href="#">24. Automating AMPS With Actions</a><ul>
49
- <li><a class="reference internal" href="#configuration-for-actions">Configuration for Actions</a><ul>
50
- <li><a class="reference internal" href="#on-element-when-an-action-runs">On Element: When an Action Runs</a><ul>
51
- <li><a class="reference internal" href="#running-an-action-on-a-schedule">Running an Action on a Schedule</a></li>
52
- <li><a class="reference internal" href="#running-an-action-in-response-to-a-signal">Running an Action in Response to a Signal</a></li>
53
- <li><a class="reference internal" href="#default-signal-actions">Default Signal Actions</a></li>
54
- <li><a class="reference internal" href="#running-an-action-in-response-to-an-http-request">Running an Action in Response to an HTTP Request</a></li>
55
- <li><a class="reference internal" href="#running-an-action-on-startup-or-shutdown">Running an Action on Startup or Shutdown</a></li>
56
- <li><a class="reference internal" href="#running-an-action-on-client-logon">Running an Action on Client Logon</a></li>
57
- <li><a class="reference internal" href="#running-an-action-on-client-connection">Running an Action on Client Connection</a></li>
58
- <li><a class="reference internal" href="#running-an-action-in-response-to-outgoing-replication-connections">Running an Action in Response to Outgoing Replication Connections</a></li>
59
- <li><a class="reference internal" href="#running-an-action-in-response-to-incoming-replication-connections">Running an Action in Response to Incoming Replication Connections</a></li>
60
- <li><a class="reference internal" href="#running-an-action-on-subscribe-or-unsubscribe">Running an Action on Subscribe or Unsubscribe</a></li>
61
- <li><a class="reference internal" href="#running-an-action-on-message-delivery">Running an Action on Message Delivery</a></li>
62
- <li><a class="reference internal" href="#running-an-action-on-message-publish">Running an Action on Message Publish</a></li>
63
- <li><a class="reference internal" href="#running-an-action-on-oof-message">Running an Action on OOF Message</a></li>
64
- <li><a class="reference internal" href="#running-an-action-on-affinity-assignment">Running an Action on Affinity Assignment</a><ul>
65
- <li><a class="reference internal" href="#considerations-and-limitations">Considerations and Limitations</a></li>
66
- <li><a class="reference internal" href="#affinitization-configuration-example">Affinitization Configuration Example</a></li>
67
- </ul>
68
- </li>
69
- <li><a class="reference internal" href="#running-an-action-on-minidump">Running an Action on Minidump</a></li>
70
- <li><a class="reference internal" href="#running-an-action-on-offline-start-or-stop">Running an Action on Offline Start or Stop</a></li>
71
- <li><a class="reference internal" href="#running-an-action-on-sow-message-deletion">Running an Action on SOW Message Deletion</a></li>
72
- <li><a class="reference internal" href="#running-an-action-on-sow-message-expiration">Running an Action on SOW Message Expiration</a></li>
73
- <li><a class="reference internal" href="#running-an-action-on-message-state-change">Running an Action on Message State Change</a></li>
74
- <li><a class="reference internal" href="#running-an-action-on-message-condition-timeout">Running an Action on Message Condition Timeout</a></li>
75
- <li><a class="reference internal" href="#running-an-action-on-a-custom-event">Running an Action on a Custom Event</a></li>
76
- </ul>
77
- </li>
78
- <li><a class="reference internal" href="#do-element-defining-the-action-to-take">Do Element: Defining the Action to Take</a><ul>
79
- <li><a class="reference internal" href="#rotate-log-files">Rotate Log Files</a></li>
80
- <li><a class="reference internal" href="#manage-the-statistics-database">Manage the Statistics Database</a></li>
81
- <li><a class="reference internal" href="#manage-journal-files">Manage Journal Files</a></li>
82
- <li><a class="reference internal" href="#compressing-files">Compressing Files</a></li>
83
- <li><a class="reference internal" href="#removing-files">Removing Files</a></li>
84
- <li><a class="reference internal" href="#deleting-messages-from-sow">Deleting Messages from SOW</a></li>
85
- <li><a class="reference internal" href="#compacting-a-sow-file">Compacting a SOW File</a></li>
86
- <li><a class="reference internal" href="#querying-a-sow-topic">Querying a SOW Topic</a></li>
87
- <li><a class="reference internal" href="#manage-security">Manage Security</a></li>
88
- <li><a class="reference internal" href="#enable-and-disable-a-transport">Enable and Disable a Transport</a></li>
89
- <li><a class="reference internal" href="#publishing-messages">Publishing Messages</a></li>
90
- <li><a class="reference internal" href="#manage-replication">Manage Replication</a></li>
91
- <li><a class="reference internal" href="#extract-values">Extract Values</a></li>
92
- <li><a class="reference internal" href="#translate-data">Translate Data</a></li>
93
- <li><a class="reference internal" href="#increment-counter">Increment Counter</a></li>
94
- <li><a class="reference internal" href="#raising-a-custom-event">Raising a Custom Event</a></li>
95
- <li><a class="reference internal" href="#executing-system-commands">Executing System Commands</a></li>
96
- <li><a class="reference internal" href="#managing-queue-transfer-requests">Managing Queue Transfer Requests</a></li>
97
- <li><a class="reference internal" href="#debugging-actions">Debugging Actions</a></li>
98
- <li><a class="reference internal" href="#creating-a-minidump">Creating a Minidump</a></li>
99
- <li><a class="reference internal" href="#shut-down-amps">Shut Down AMPS</a></li>
100
- </ul>
101
- </li>
102
- <li><a class="reference internal" href="#if-element-conditionally-stop-action-sequence">If Element: Conditionally Stop Action Sequence</a><ul>
103
- <li><a class="reference internal" href="#file-system-usage">File System Usage</a></li>
104
- <li><a class="reference internal" href="#conditional-expression">Conditional Expression</a></li>
105
- </ul>
106
- </li>
107
- <li><a class="reference internal" href="#action-configuration-examples">Action Configuration Examples</a><ul>
108
- <li><a class="reference internal" href="#archive-transaction-log-journal-files-older-than-one-week-every-saturday">Archive Transaction Log Journal Files Older Than One Week, Every Saturday</a></li>
109
- <li><a class="reference internal" href="#disable-and-re-enable-security-on-signal">Disable and Re-enable Security on Signal</a></li>
110
- <li><a class="reference internal" href="#reset-entitlements-for-a-disconnected-client">Reset Entitlements for a Disconnected Client</a></li>
111
- <li><a class="reference internal" href="#extract-values-on-publish-of-a-message">Extract Values on Publish of a Message</a></li>
112
- <li><a class="reference internal" href="#increment-a-counter-and-echo-a-message-on-signal">Increment a Counter and Echo a Message on Signal</a></li>
113
- <li><a class="reference internal" href="#recording-expired-queue-messages-in-a-dead-letter-topic">Recording Expired Queue Messages in a Dead Letter Topic</a></li>
114
- <li><a class="reference internal" href="#copy-a-message-to-a-different-topic-when-a-timeout-is-exceeded">Copy a Message to a Different Topic When a Timeout is Exceeded</a></li>
115
- <li><a class="reference internal" href="#shutting-down-amps-when-filesystem-fills">Shutting Down AMPS When Filesystem Fills</a></li>
116
- <li><a class="reference internal" href="#archive-transaction-log-journal-files-older-than-a-specified-age-in-response-to-admin-request">Archive Transaction Log Journal Files Older Than a Specified Age in Response to Admin Request</a></li>
117
- </ul>
118
- </li>
119
- </ul>
120
- </li>
121
- </ul>
122
- </li>
123
- </ul>
124
- <div class="relations">
125
- <h3>Related Topics</h3>
126
- <ul>
127
- <li><a href="../index.html">Documentation overview</a><ul>
128
- <li>Previous: <a href="monitoring.html" title="previous chapter">23. Monitoring Interface</a></li>
129
- <li>Next: <a href="replication.html" title="next chapter">25. Replicating Messages Between Instances</a></li>
130
- </ul></li>
131
- </ul>
132
- </div>
133
- <div id="searchbox" style="display: none" role="search">
134
- <h3>Quick search</h3>
135
- <form class="search" action="../search.html" method="get">
136
- <div><input type="text" name="q" /></div>
137
- <div><input type="submit" value="Go" /></div>
138
- <input type="hidden" name="check_keywords" value="yes" />
139
- <input type="hidden" name="area" value="default" />
140
- </form>
141
- </div>
142
- <script type="text/javascript">$('#searchbox').show(0);</script>
143
- </div>
144
- </div>
145
- <div class="documentwrapper">
146
- <div class="bodywrapper">
147
- <div class="body" role="main">
148
-
149
- <div class="section" id="automating-amps-with-actions">
150
- <span id="actions"></span><span id="ug-actions"></span><h1>24. Automating AMPS With Actions<a class="headerlink" href="#automating-amps-with-actions" title="Permalink to this headline">¶</a></h1>
151
- <p id="index-0">AMPS provides the ability to run scheduled tasks or respond to events,
152
- such as Linux signals, using the Actions interface.</p>
153
- <p>To create an action, you add an <code class="docutils literal"><span class="pre">Actions</span></code> section to the AMPS
154
- configuration file. Each <code class="docutils literal"><span class="pre">Action</span></code> contains one (or more) <code class="docutils literal"><span class="pre">On</span></code>
155
- statement which specifies when the action occurs, and one (or more)
156
- <code class="docutils literal"><span class="pre">Do</span></code> statement which specifies what the AMPS server does for the
157
- action. Within an action, AMPS performs each <code class="docutils literal"><span class="pre">Do</span></code> statement in the
158
- order in which they appear in the file.</p>
159
- <p>AMPS actions may require the use of parameters. AMPS allows you to use
160
- variables in the parameters of an action. You can access these variables
161
- using the following syntax:</p>
162
- <p><code class="docutils literal"><span class="pre">{{VARIABLE_NAME}}</span></code></p>
163
- <p>AMPS defines a set of default variables when running an action. The
164
- event, or a previous action, can add variables in the context of the
165
- action. Those variables can be expanded in subsequent parameters. If a
166
- variable is used that isn&#8217;t defined at the point where it is used, AMPS
167
- will expand that variable to an empty string literal. The context can
168
- also be updated as the module is running, so any variables that are
169
- available at any given point in the file depend on what action was
170
- previously executed.</p>
171
- <p>By default, AMPS loads the following variables when it initializes an
172
- AMPS action:</p>
173
- <table border="1" class="docutils" id="id1">
174
- <caption><span class="caption-text"><em>Default context variables</em></span><a class="headerlink" href="#id1" title="Permalink to this table">¶</a></caption>
175
- <colgroup>
176
- <col width="50%" />
177
- <col width="50%" />
178
- </colgroup>
179
- <thead valign="bottom">
180
- <tr class="row-odd"><th class="head">Variable</th>
181
- <th class="head">Description</th>
182
- </tr>
183
- </thead>
184
- <tbody valign="top">
185
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_INSTANCE_NAME</span></code></td>
186
- <td>The name of the AMPS instance.</td>
187
- </tr>
188
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_BYTE_XX</span></code></td>
189
- <td>Insert byte <em>XX</em>, where <em>XX</em> is a 2-digit
190
- uppercase hex number (00-FF). AMPS expands
191
- this variable to the corresponding byte
192
- value. These variables are useful for
193
- creating field separators or producing
194
- characters that are not permitted within
195
- XML.</td>
196
- </tr>
197
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_DATETIME</span></code></td>
198
- <td>The current date and time in ISO-8601
199
- format.</td>
200
- </tr>
201
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_UNIX_TIMESTAMP</span></code></td>
202
- <td>The current date and time as a UNIX
203
- timestamp.</td>
204
- </tr>
205
- </tbody>
206
- </table>
207
- <p>An example to echo a message when AMPS starts up is shown below. Note
208
- the AMPS_INSTANCE_NAME is one of the variables that AMPS pushes to the
209
- context when an action is loaded.</p>
210
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;Actions&gt;</span>
211
- <span class="nt">&lt;Action&gt;</span>
212
- <span class="nt">&lt;On&gt;</span>
213
- <span class="nt">&lt;Module&gt;</span>amps-action-on-startup<span class="nt">&lt;/Module&gt;</span>
214
- <span class="nt">&lt;/On&gt;</span>
215
- <span class="nt">&lt;Do&gt;</span>
216
- <span class="nt">&lt;Module&gt;</span>amps-action-do-echo-message<span class="nt">&lt;/Module&gt;</span>
217
- <span class="nt">&lt;Options&gt;</span>
218
- <span class="nt">&lt;Message&gt;</span>instance={{AMPS_INSTANCE_NAME}}<span class="nt">&lt;/Message&gt;</span>
219
- <span class="nt">&lt;/Options&gt;</span>
220
- <span class="nt">&lt;/Do&gt;</span>
221
- <span class="nt">&lt;/Action&gt;</span>
222
- <span class="nt">&lt;/Actions&gt;</span>
223
- </pre></div>
224
- </div>
225
- <p>AMPS actions are implemented as AMPS modules. To run each statement, AMPS
226
- simply calls the module that implements that <code class="docutils literal"><span class="pre">Do</span></code> statement. The module is
227
- free to take any necessary actions. If a <code class="docutils literal"><span class="pre">Do</span></code> statement returns
228
- a failure, AMPS does not run subsequent <code class="docutils literal"><span class="pre">Do</span></code> statements in that action.
229
- This is intended to help make maintenance processes reliable. For example,
230
- if a <code class="docutils literal"><span class="pre">Do</span></code> statement that is intended to copy a log file to a storage
231
- directory fails because the device that holds the storage directory is
232
- not mounted, further steps in the action &#8211; which might do things like
233
- remove the log file from the original directory &#8211; should not be run. Likewise,
234
- if AMPS exits unexpectedly during a given <code class="docutils literal"><span class="pre">Do</span></code> statement, subsequent
235
- statements will not be run.</p>
236
- <p>AMPS provides the modules described in the following sections by default.</p>
237
- <div class="section" id="configuration-for-actions">
238
- <span id="ug-actions-config"></span><h2>Configuration for Actions<a class="headerlink" href="#configuration-for-actions" title="Permalink to this headline">¶</a></h2>
239
- <p>This section lists configuration parameters for AMPS actions.</p>
240
- <div class="section" id="on-element-when-an-action-runs">
241
- <span id="ug-on-actions"></span><h3>On Element: When an Action Runs<a class="headerlink" href="#on-element-when-an-action-runs" title="Permalink to this headline">¶</a></h3>
242
- <p>This section describes the options for configuring when AMPS runs a
243
- given action.</p>
244
- <div class="section" id="running-an-action-on-a-schedule">
245
- <span id="ug-actions-on-schedule"></span><h4>Running an Action on a Schedule<a class="headerlink" href="#running-an-action-on-a-schedule" title="Permalink to this headline">¶</a></h4>
246
- <p>AMPS provides the <code class="docutils literal"><span class="pre">amps-action-on-schedule</span></code> module for running actions
247
- on a specified schedule.</p>
248
- <p>The options provided to the module define the schedule on which AMPS
249
- will run the actions in the <code class="docutils literal"><span class="pre">Do</span></code> element.</p>
250
- <table border="1" class="docutils" id="id2">
251
- <caption><span class="caption-text"><em>Parameters for Scheduling Actions</em></span><a class="headerlink" href="#id2" title="Permalink to this table">¶</a></caption>
252
- <colgroup>
253
- <col width="50%" />
254
- <col width="50%" />
255
- </colgroup>
256
- <thead valign="bottom">
257
- <tr class="row-odd"><th class="head">Parameter</th>
258
- <th class="head">Description</th>
259
- </tr>
260
- </thead>
261
- <tbody valign="top">
262
- <tr class="row-even"><td><div class="req first last docutils container">
263
- Every</div>
264
- </td>
265
- <td><p class="first">Specifies a recurring action that runs whenever the time
266
- matches the provided specification. Specifications can
267
- take three forms:</p>
268
- <p>1. <em>Timer action</em> - a specification that is simply a
269
- duration, such as <code class="docutils literal"><span class="pre">4h</span></code> or <code class="docutils literal"><span class="pre">1d</span></code>, creates a timer
270
- action. AMPS starts the timer when the instance starts.
271
- When the timer expires, AMPS runs the action and resets
272
- the timer.</p>
273
- <p>2. <em>Daily action</em> - a specification that is a time of day,
274
- such as <code class="docutils literal"><span class="pre">00:32</span></code> or <code class="docutils literal"><span class="pre">17:47</span></code>, creates a daily action.
275
- AMPS runs the action every day at the specified time.
276
- AMPS uses a 24 hour notation for daily actions.</p>
277
- <p>3. <em>Weekly action</em> - a specification that includes a day of
278
- the week and a time, such as <code class="docutils literal"><span class="pre">Saturday</span> <span class="pre">at</span> <span class="pre">11:00</span></code> or
279
- <code class="docutils literal"><span class="pre">Wednesday</span> <span class="pre">at</span> <span class="pre">03:32</span></code>, creates a weekly action. AMPS
280
- runs the action each week on the day specified, at the
281
- time specified. AMPS uses a 24 hour notation for weekly
282
- actions.</p>
283
- <p class="last">AMPS accepts both local time and UTC for time
284
- specifications. To use UTC, append a <code class="docutils literal"><span class="pre">Z</span></code> to the time
285
- specifier. For example, the time specification <code class="docutils literal"><span class="pre">11:32</span></code>
286
- is 11:32 AM local time. The time specification <code class="docutils literal"><span class="pre">11:32Z</span></code>
287
- is 11:32 AM UTC.</p>
288
- </td>
289
- </tr>
290
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">Name</span></code></td>
291
- <td><p class="first">The name of the schedule. This name appears in log
292
- messages related to this schedule.</p>
293
- <p class="last">Default: <code class="docutils literal"><span class="pre">unknown</span></code></p>
294
- </td>
295
- </tr>
296
- </tbody>
297
- </table>
298
- <p>This module does not add any variables to the AMPS context.</p>
299
- </div>
300
- <div class="section" id="running-an-action-in-response-to-a-signal">
301
- <span id="ug-actions-on-signal"></span><h4>Running an Action in Response to a Signal<a class="headerlink" href="#running-an-action-in-response-to-a-signal" title="Permalink to this headline">¶</a></h4>
302
- <p>AMPS provides the <code class="docutils literal"><span class="pre">amps-action-on-signal</span></code> module for running actions
303
- when AMPS receives a specified signal.</p>
304
- <p>The module requires the <code class="docutils literal"><span class="pre">Signal</span></code> parameter:</p>
305
- <table border="1" class="docutils" id="id3">
306
- <caption><span class="caption-text"><em>Parameters for Responding to Signals</em></span><a class="headerlink" href="#id3" title="Permalink to this table">¶</a></caption>
307
- <colgroup>
308
- <col width="50%" />
309
- <col width="50%" />
310
- </colgroup>
311
- <thead valign="bottom">
312
- <tr class="row-odd"><th class="head">Parameter</th>
313
- <th class="head">Description</th>
314
- </tr>
315
- </thead>
316
- <tbody valign="top">
317
- <tr class="row-even"><td><div class="req first last docutils container">
318
- Signal</div>
319
- </td>
320
- <td><p class="first">Specifies the signal to respond to. This module supports the
321
- standard Linux signals. Configuring an action uses the
322
- standard name of the signal.</p>
323
- <p>For example, to configure an action to <code class="docutils literal"><span class="pre">SIGUSR1</span></code>, the
324
- value for the <code class="docutils literal"><span class="pre">Signal</span></code> element is <code class="docutils literal"><span class="pre">SIGUSR1</span></code>. To
325
- configure an action for <code class="docutils literal"><span class="pre">SIGHUP</span></code>, the value for the
326
- <code class="docutils literal"><span class="pre">Signal</span></code> element is <code class="docutils literal"><span class="pre">SIGHUP</span></code> and so on.</p>
327
- <p class="last">AMPS reserves <code class="docutils literal"><span class="pre">SIGQUIT</span></code> for producing minidumps and does
328
- not allow this module to override <code class="docutils literal"><span class="pre">SIGQUIT</span></code>. AMPS
329
- registers actions for several signals by default. See
330
- <a class="reference internal" href="#ug-actions-default-signal"><span class="std std-ref">Default Signal Actions</span></a>
331
- for details.</p>
332
- </td>
333
- </tr>
334
- </tbody>
335
- </table>
336
- <p>This module does not add any variables to the AMPS context.</p>
337
- <div class="admonition caution">
338
- <p class="first admonition-title">Caution</p>
339
- <p class="last">Actions can be used to override the default signal behavior for
340
- AMPS.</p>
341
- </div>
342
- </div>
343
- <div class="section" id="default-signal-actions">
344
- <span id="ug-actions-default-signal"></span><h4>Default Signal Actions<a class="headerlink" href="#default-signal-actions" title="Permalink to this headline">¶</a></h4>
345
- <p id="index-1">By default, AMPS registers the following actions for signals:</p>
346
- <table border="1" class="docutils" id="id4">
347
- <caption><span class="caption-text"><em>Default signal handling actions</em></span><a class="headerlink" href="#id4" title="Permalink to this table">¶</a></caption>
348
- <colgroup>
349
- <col width="50%" />
350
- <col width="50%" />
351
- </colgroup>
352
- <thead valign="bottom">
353
- <tr class="row-odd"><th class="head">On Event</th>
354
- <th class="head">Action</th>
355
- </tr>
356
- </thead>
357
- <tbody valign="top">
358
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">SIGUSR1</span></code></td>
359
- <td><code class="docutils literal"><span class="pre">amps-action-do-disable-authentication</span></code></td>
360
- </tr>
361
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">SIGUSR1</span></code></td>
362
- <td><code class="docutils literal"><span class="pre">amps-action-do-disable-entitlement</span></code></td>
363
- </tr>
364
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">SIGUSR2</span></code></td>
365
- <td><code class="docutils literal"><span class="pre">amps-action-do-enable-authentication</span></code></td>
366
- </tr>
367
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">SIGUSR2</span></code></td>
368
- <td><code class="docutils literal"><span class="pre">amps-action-do-enable-entitlement</span></code></td>
369
- </tr>
370
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">SIGINT</span></code></td>
371
- <td><code class="docutils literal"><span class="pre">amps-action-do-shutdown</span></code></td>
372
- </tr>
373
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">SIGTERM</span></code></td>
374
- <td><code class="docutils literal"><span class="pre">amps-action-do-shutdown</span></code></td>
375
- </tr>
376
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">SIGHUP</span></code></td>
377
- <td><code class="docutils literal"><span class="pre">amps-action-do-shutdown</span></code></td>
378
- </tr>
379
- </tbody>
380
- </table>
381
- <p>The actions in the table above can be overridden by creating an
382
- explicit action in the configuration file.</p>
383
- <p id="index-2">AMPS reserves the <code class="docutils literal"><span class="pre">SIGQUIT</span></code> signal and does not allow the
384
- configuration file to override the action taken in response
385
- to <code class="docutils literal"><span class="pre">SIGQUIT</span></code>.</p>
386
- <table border="1" class="docutils" id="id5">
387
- <caption><span class="caption-text"><em>Reserved signal</em></span><a class="headerlink" href="#id5" title="Permalink to this table">¶</a></caption>
388
- <colgroup>
389
- <col width="50%" />
390
- <col width="50%" />
391
- </colgroup>
392
- <thead valign="bottom">
393
- <tr class="row-odd"><th class="head">On Event</th>
394
- <th class="head">Action</th>
395
- </tr>
396
- </thead>
397
- <tbody valign="top">
398
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">SIGQUIT</span></code></td>
399
- <td><code class="docutils literal"><span class="pre">amps-action-do-minidump</span></code></td>
400
- </tr>
401
- </tbody>
402
- </table>
403
- </div>
404
- <div class="section" id="running-an-action-in-response-to-an-http-request">
405
- <span id="ug-actions-on-admin"></span><h4>Running an Action in Response to an HTTP Request<a class="headerlink" href="#running-an-action-in-response-to-an-http-request" title="Permalink to this headline">¶</a></h4>
406
- <p>AMPS includes a module that allows you to configure an action to run when
407
- a specified resource underneath the <code class="docutils literal"><span class="pre">/amps/administrator/actions</span></code> path
408
- in the admin interface is requested. The <code class="docutils literal"><span class="pre">amps-action-on-admin</span></code> module
409
- allows you to add a custom action to the admin interface and provides
410
- the ability to pass parameters into the <code class="docutils literal"><span class="pre">Do</span></code> step of those actions
411
- using query parameters in the HTTP request.</p>
412
- <p>The module requires the <code class="docutils literal"><span class="pre">Path</span></code> parameter, which specifies the path
413
- under <code class="docutils literal"><span class="pre">/amps/administrator/actions</span></code> where this action should appear:</p>
414
- <table border="1" class="docutils" id="id6">
415
- <caption><span class="caption-text"><em>Required parameters for ``amps-action-on-admin``</em></span><a class="headerlink" href="#id6" title="Permalink to this table">¶</a></caption>
416
- <colgroup>
417
- <col width="50%" />
418
- <col width="50%" />
419
- </colgroup>
420
- <thead valign="bottom">
421
- <tr class="row-odd"><th class="head">Parameter</th>
422
- <th class="head">Description</th>
423
- </tr>
424
- </thead>
425
- <tbody valign="top">
426
- <tr class="row-even"><td><div class="req first last docutils container">
427
- Path</div>
428
- </td>
429
- <td><p class="first">Specifies the path under <code class="docutils literal"><span class="pre">/amps/administrator/actions</span></code>
430
- where this action should appear. The action will run when
431
- a request for the specified path is received by the AMPS
432
- admin interface.</p>
433
- <p>For entitlement purposes, the AMPS admin interface treats
434
- actions configured using this module identically to
435
- resources provided by AMPS. That is, the user requesting
436
- that the action run must have access to the appropriate
437
- admin resource for the action to run.</p>
438
- <p>For example, to add an action that runs journal maintenance
439
- at the path <code class="docutils literal"><span class="pre">/amps/administrator/actions/journal_cleanup</span></code>,
440
- you would use the following <code class="docutils literal"><span class="pre">Path</span></code> element:</p>
441
- <div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">&lt;</span><span class="n">Path</span><span class="o">&gt;</span><span class="n">journal_cleanup</span><span class="o">&lt;/</span><span class="n">Path</span><span class="o">&gt;</span>
442
- </pre></div>
443
- </div>
444
- <p class="last">The <code class="docutils literal"><span class="pre">Path</span></code> element should contain only a resource name.
445
- No <code class="docutils literal"><span class="pre">/</span></code> character should appear in the <code class="docutils literal"><span class="pre">Path</span></code> element.</p>
446
- </td>
447
- </tr>
448
- </tbody>
449
- </table>
450
- <p>Any query parameters provided as part of the request are added to the context
451
- before the <code class="docutils literal"><span class="pre">Do</span></code> steps for the action are run. This module adds the names
452
- and values of the query parameters without adjusting the case of the items.</p>
453
- <p>For some actions, it&#8217;s important that a specific context value is present
454
- before the action runs. You can configure the module to require that the
455
- request provide one or more query parameters using the <code class="docutils literal"><span class="pre">RequiredParameter</span></code>
456
- option to the module. When one or more <code class="docutils literal"><span class="pre">RequiredParameter</span></code> is specified,
457
- the admin console will refuse any request for the resource that does not
458
- include all of the required parameters.</p>
459
- <p>The action also provides support for a <code class="docutils literal"><span class="pre">Name</span></code> element and a <code class="docutils literal"><span class="pre">Description</span></code>
460
- element, which can be used to help tools that monitor or manage AMPS (such
461
- as the Galvanometer monitoring tool included with AMPS) provide information
462
- on the action.</p>
463
- <table border="1" class="docutils" id="id7">
464
- <caption><span class="caption-text"><em>Optional parameters for ``amps-action-on-admin``</em></span><a class="headerlink" href="#id7" title="Permalink to this table">¶</a></caption>
465
- <colgroup>
466
- <col width="50%" />
467
- <col width="50%" />
468
- </colgroup>
469
- <thead valign="bottom">
470
- <tr class="row-odd"><th class="head">Optional Element</th>
471
- <th class="head">Description</th>
472
- </tr>
473
- </thead>
474
- <tbody valign="top">
475
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">RequiredParameter</span></code></td>
476
- <td>Specifies that a request to run this action must include
477
- the specified query parameter. If the request does not
478
- include this item as part of the query parameters, the
479
- request will return an error rather than executing the
480
- action.</td>
481
- </tr>
482
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">Name</span></code></td>
483
- <td>Specifies the name to use for display purposes for this
484
- resource.</td>
485
- </tr>
486
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">Description</span></code></td>
487
- <td>Specifies a description to use for display purposes for
488
- this resource.</td>
489
- </tr>
490
- </tbody>
491
- </table>
492
- <p>For an example of configuring an action using this module, see <a class="reference internal" href="#admin-action-example-archive"><span class="std std-ref">Archive Transaction Log Journal Files Older Than A Specified Age In Response to Admin Request</span></a>.</p>
493
- <div class="admonition tip">
494
- <p class="first admonition-title">Tip</p>
495
- <p class="last">The <code class="docutils literal"><span class="pre">amps-action-on-admin</span></code> module should be used for ad hoc maintenance
496
- (such as responding to an unexpected increase in traffic by archiving
497
- journals ahead of schedule) or tasks that are triggered unpredictably
498
- by an external system. For tasks that need to run on a regular basis
499
- or frequently (for example, every few seconds), <code class="docutils literal"><span class="pre">amps-action-on-schedule</span></code>
500
- is more efficient.</p>
501
- </div>
502
- </div>
503
- <div class="section" id="running-an-action-on-startup-or-shutdown">
504
- <span id="ug-actions-on-startup"></span><h4>Running an Action on Startup or Shutdown<a class="headerlink" href="#running-an-action-on-startup-or-shutdown" title="Permalink to this headline">¶</a></h4>
505
- <p>AMPS includes modules to run actions when AMPS starts up or shuts down.</p>
506
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-startup</span></code> module runs actions as the last step in
507
- the startup sequence. The <code class="docutils literal"><span class="pre">amps-action-on-shutdown</span></code> module runs
508
- actions as the first step in the AMPS shutdown sequence.</p>
509
- <p>In both cases, actions run in the order that the actions appear in the
510
- configuration file.</p>
511
- <p>These modules do not require any parameters.</p>
512
- <p>These modules do not add any variables to the AMPS context.</p>
513
- </div>
514
- <div class="section" id="running-an-action-on-client-logon">
515
- <span id="ug-actions-on-client-logon"></span><h4>Running an Action on Client Logon<a class="headerlink" href="#running-an-action-on-client-logon" title="Permalink to this headline">¶</a></h4>
516
- <p>AMPS provides the <code class="docutils literal"><span class="pre">amps-action-on-logon-client</span></code> module for running actions
517
- when a user logs into an AMPS client.</p>
518
- <p>This module does not require any parameters.</p>
519
- <p>This module adds the following variables to the AMPS context:</p>
520
- <table border="1" class="docutils" id="id8">
521
- <caption><span class="caption-text"><em>Context Variables for On Client Logon</em></span><a class="headerlink" href="#id8" title="Permalink to this table">¶</a></caption>
522
- <colgroup>
523
- <col width="50%" />
524
- <col width="50%" />
525
- </colgroup>
526
- <thead valign="bottom">
527
- <tr class="row-odd"><th class="head">Variable</th>
528
- <th class="head">Description</th>
529
- </tr>
530
- </thead>
531
- <tbody valign="top">
532
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_CLIENT_NAME</span></code></td>
533
- <td>The name of the AMPS client.</td>
534
- </tr>
535
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_CONNECTION_NAME</span></code></td>
536
- <td>The name of the AMPS connection.</td>
537
- </tr>
538
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_AUTHENTICATION_ID</span></code></td>
539
- <td>The authentication ID of the AMPS connection.</td>
540
- </tr>
541
- </tbody>
542
- </table>
543
- </div>
544
- <div class="section" id="running-an-action-on-client-connection">
545
- <span id="ug-actions-on-client-connection"></span><h4>Running an Action on Client Connection<a class="headerlink" href="#running-an-action-on-client-connection" title="Permalink to this headline">¶</a></h4>
546
- <p>AMPS provides modules for running actions on the connection or
547
- disconnection of an AMPS client.</p>
548
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-disconnect-client</span></code> runs actions once an AMPS
549
- client instance disconnects. The <code class="docutils literal"><span class="pre">amps-action-on-connect-client</span></code> runs
550
- actions once an instance of an AMPS client successfully connects.</p>
551
- <p>These modules require no parameters.</p>
552
- <p>These modules add the following variables to the AMPS context:</p>
553
- <table border="1" class="docutils" id="id9">
554
- <caption><span class="caption-text"><em>Context Variables for On Connect and Disconnect Client</em></span><a class="headerlink" href="#id9" title="Permalink to this table">¶</a></caption>
555
- <colgroup>
556
- <col width="50%" />
557
- <col width="50%" />
558
- </colgroup>
559
- <thead valign="bottom">
560
- <tr class="row-odd"><th class="head">Variable</th>
561
- <th class="head">Description</th>
562
- </tr>
563
- </thead>
564
- <tbody valign="top">
565
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_CLIENT_NAME</span></code></td>
566
- <td><p class="first">The name of the AMPS client.</p>
567
- <p class="last">(For the <code class="docutils literal"><span class="pre">amps-action-on-connect-client</span></code>
568
- action, this will be the connection name
569
- since this event happens before the client
570
- has provided a client name in the logon
571
- command.)</p>
572
- </td>
573
- </tr>
574
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_CONNECTION_NAME</span></code></td>
575
- <td>The name of the AMPS connection.</td>
576
- </tr>
577
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_AUTHENTICATION_ID</span></code></td>
578
- <td>The authentication ID of the AMPS connection
579
- (for <code class="docutils literal"><span class="pre">amps-action-on-disconnect-client</span></code>
580
- action only).</td>
581
- </tr>
582
- </tbody>
583
- </table>
584
- </div>
585
- <div class="section" id="running-an-action-in-response-to-outgoing-replication-connections">
586
- <span id="ug-actions-on-replication-outgoing"></span><h4>Running an Action in Response to Outgoing Replication Connections<a class="headerlink" href="#running-an-action-in-response-to-outgoing-replication-connections" title="Permalink to this headline">¶</a></h4>
587
- <p>AMPS includes a set of modules that allow you to configure an action to
588
- run based on events for outgoing replication connections.</p>
589
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-connect-replication</span></code> module runs when an
590
- outgoing <code class="docutils literal"><span class="pre">Destination</span></code> is connected. The <code class="docutils literal"><span class="pre">amps-action-on-disconnect-replication</span></code>
591
- module runs when an outgoing <code class="docutils literal"><span class="pre">Destination</span></code> is disconnected.</p>
592
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-replication-resync-complete</span></code> module runs when
593
- a <code class="docutils literal"><span class="pre">Destination</span></code> has been brought up to date with the transaction
594
- log of the local instance.</p>
595
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-upgrade-replication</span></code> module runs when an outgoing
596
- replication connection that has been previously downgraded to acknowledge
597
- messages <code class="docutils literal"><span class="pre">async</span></code> is upgraded to acknowledge messages <code class="docutils literal"><span class="pre">sync</span></code>.</p>
598
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-downgrade-replication</span></code> module runs when an outgoing
599
- replication connection that is configured to acknowledge messages <code class="docutils literal"><span class="pre">sync</span></code>
600
- has been downgraded to acknowledge messages <code class="docutils literal"><span class="pre">async</span></code>.</p>
601
- <p>These modules require no parameters.</p>
602
- <p>These modules add the following variables to the AMPS context:</p>
603
- <table border="1" class="docutils" id="id10">
604
- <caption><span class="caption-text"><em>Context Variables for Outgoing Replication Connect and Disconnect</em></span><a class="headerlink" href="#id10" title="Permalink to this table">¶</a></caption>
605
- <colgroup>
606
- <col width="50%" />
607
- <col width="50%" />
608
- </colgroup>
609
- <thead valign="bottom">
610
- <tr class="row-odd"><th class="head">Variable</th>
611
- <th class="head">Description</th>
612
- </tr>
613
- </thead>
614
- <tbody valign="top">
615
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_REPLICATION_PEER_NAME</span></code></td>
616
- <td>The instance name of the AMPS instance on
617
- the opposite end of the connection, if
618
- available.</td>
619
- </tr>
620
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_REPLICATION_CLIENT_NAME</span></code></td>
621
- <td>The name of the AMPS client used for this
622
- connection.</td>
623
- </tr>
624
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_REPLICATION_REMOTE_ADDRESS</span></code></td>
625
- <td>The remote address of the opposite end of the
626
- connection.</td>
627
- </tr>
628
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_REPLICATION_GROUP_NAME</span></code></td>
629
- <td>The group name of the AMPS instance on
630
- the opposite end of the connection, if
631
- available.</td>
632
- </tr>
633
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_REPLICATION_TRANSPORT_NAME</span></code></td>
634
- <td>The name of the transport making the outgoing
635
- connection.</td>
636
- </tr>
637
- </tbody>
638
- </table>
639
- </div>
640
- <div class="section" id="running-an-action-in-response-to-incoming-replication-connections">
641
- <span id="ug-actions-on-replication-incoming"></span><h4>Running an Action in Response to Incoming Replication Connections<a class="headerlink" href="#running-an-action-in-response-to-incoming-replication-connections" title="Permalink to this headline">¶</a></h4>
642
- <p>AMPS includes a set of modules that allow you to configure an action to
643
- run based on events for incoming replication connections.</p>
644
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-connect-incoming-replication</span></code> module runs when
645
- an incoming replication connection is accepted. The
646
- <code class="docutils literal"><span class="pre">amps-action-on-disconnect-incoming-replication</span></code> module runs when an
647
- incoming replication connection is disconnected.</p>
648
- <p>These modules require no parameters.</p>
649
- <p>These modules add the following variables to the AMPS context:</p>
650
- <table border="1" class="docutils" id="id11">
651
- <caption><span class="caption-text"><em>Context Variables for Incoming replication Connect and Disconnect</em></span><a class="headerlink" href="#id11" title="Permalink to this table">¶</a></caption>
652
- <colgroup>
653
- <col width="50%" />
654
- <col width="50%" />
655
- </colgroup>
656
- <thead valign="bottom">
657
- <tr class="row-odd"><th class="head">Variable</th>
658
- <th class="head">Description</th>
659
- </tr>
660
- </thead>
661
- <tbody valign="top">
662
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_REPLICATION_PEER_NAME</span></code></td>
663
- <td>The instance name of the AMPS instance on
664
- the opposite end of the connection, if
665
- available.</td>
666
- </tr>
667
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_REPLICATION_CLIENT_NAME</span></code></td>
668
- <td>The name of the AMPS client used for this
669
- connection.</td>
670
- </tr>
671
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_REPLICATION_REMOTE_ADDRESS</span></code></td>
672
- <td>The remote address of the opposite end of the
673
- connection.</td>
674
- </tr>
675
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_REPLICATION_GROUP_NAME</span></code></td>
676
- <td>The group name of the AMPS instance on
677
- the opposite end of the connection, if
678
- available.</td>
679
- </tr>
680
- </tbody>
681
- </table>
682
- </div>
683
- <div class="section" id="running-an-action-on-subscribe-or-unsubscribe">
684
- <span id="ug-actions-on-subscription"></span><h4>Running an Action on Subscribe or Unsubscribe<a class="headerlink" href="#running-an-action-on-subscribe-or-unsubscribe" title="Permalink to this headline">¶</a></h4>
685
- <p>AMPS provides modules for running actions when a client
686
- subscribes or unsubscribes.</p>
687
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-subscribe</span></code> runs actions when an AMPS
688
- client enters a subscription command. The <code class="docutils literal"><span class="pre">amps-action-on-unsubscribe</span></code> runs
689
- actions when an AMPS client unsubscribes (either by sending an explicit
690
- unsubscribe command or by disconnecting).</p>
691
- <p>These modules require the following parameters:</p>
692
- <table border="1" class="docutils" id="id12">
693
- <caption><span class="caption-text"><em>Parameters for On Connect and Disconnect Client</em></span><a class="headerlink" href="#id12" title="Permalink to this table">¶</a></caption>
694
- <colgroup>
695
- <col width="50%" />
696
- <col width="50%" />
697
- </colgroup>
698
- <thead valign="bottom">
699
- <tr class="row-odd"><th class="head">Parameter</th>
700
- <th class="head">Description</th>
701
- </tr>
702
- </thead>
703
- <tbody valign="top">
704
- <tr class="row-even"><td><div class="req first last docutils container">
705
- Topic</div>
706
- </td>
707
- <td>Specifies the topic or topic regular expression pattern to
708
- monitor for subscribe commands.</td>
709
- </tr>
710
- <tr class="row-odd"><td><div class="req first last docutils container">
711
- MessageType</div>
712
- </td>
713
- <td>The message type of the topic to monitor for subscribe or
714
- unsubscribe. There is no default for this parameter.</td>
715
- </tr>
716
- </tbody>
717
- </table>
718
- <p>These modules add the following variables to the AMPS context:</p>
719
- <table border="1" class="docutils" id="id13">
720
- <caption><span class="caption-text"><em>Context Variables for On Subscribe and On Unsubscribe</em></span><a class="headerlink" href="#id13" title="Permalink to this table">¶</a></caption>
721
- <colgroup>
722
- <col width="50%" />
723
- <col width="50%" />
724
- </colgroup>
725
- <thead valign="bottom">
726
- <tr class="row-odd"><th class="head">Variable</th>
727
- <th class="head">Description</th>
728
- </tr>
729
- </thead>
730
- <tbody valign="top">
731
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_TOPIC</span></code></td>
732
- <td>The name of the topic specified by the
733
- subscribe or unsubscribe command.</td>
734
- </tr>
735
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_CLIENT_NAME</span></code></td>
736
- <td>The name of the client submitting the
737
- command.</td>
738
- </tr>
739
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_OPTIONS</span></code></td>
740
- <td>The options on the subscription.</td>
741
- </tr>
742
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_FILTER</span></code></td>
743
- <td>The filter for the subscription.</td>
744
- </tr>
745
- </tbody>
746
- </table>
747
- </div>
748
- <div class="section" id="running-an-action-on-message-delivery">
749
- <span id="ug-actions-on-message-delivery"></span><h4>Running an Action on Message Delivery<a class="headerlink" href="#running-an-action-on-message-delivery" title="Permalink to this headline">¶</a></h4>
750
- <p>AMPS provides modules to run actions when AMPS delivers a message to
751
- subscribers. The basic flow of AMPS messaging is to first receive a
752
- published message, find the subscriber(s) to which this message will be
753
- sent, then deliver the message to the subscriber(s).</p>
754
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-deliver-message</span></code> runs actions when AMPS delivers a
755
- <code class="docutils literal"><span class="pre">publish</span></code> message to subscribers.</p>
756
- <p>This module requires the <code class="docutils literal"><span class="pre">Topic</span></code> and the <code class="docutils literal"><span class="pre">MessageType</span></code> of the
757
- message that has been delivered.</p>
758
- <table border="1" class="docutils" id="id14">
759
- <caption><span class="caption-text"><em>Parameters for On Deliver Message</em></span><a class="headerlink" href="#id14" title="Permalink to this table">¶</a></caption>
760
- <colgroup>
761
- <col width="50%" />
762
- <col width="50%" />
763
- </colgroup>
764
- <thead valign="bottom">
765
- <tr class="row-odd"><th class="head">Parameter</th>
766
- <th class="head">Description</th>
767
- </tr>
768
- </thead>
769
- <tbody valign="top">
770
- <tr class="row-even"><td><div class="req first last docutils container">
771
- Topic</div>
772
- </td>
773
- <td>The name of the topic to monitor for message delivery.
774
- This parameter supports regular expressions. There is no
775
- default for this parameter.</td>
776
- </tr>
777
- <tr class="row-odd"><td><div class="req first last docutils container">
778
- MessageType</div>
779
- </td>
780
- <td>The message type of the topic to monitor for message
781
- delivery. There is no default for this parameter.</td>
782
- </tr>
783
- </tbody>
784
- </table>
785
- <p>This module adds the following variables to the AMPS context:</p>
786
- <table border="1" class="docutils" id="id15">
787
- <caption><span class="caption-text"><em>Context Variables for On Deliver Message</em></span><a class="headerlink" href="#id15" title="Permalink to this table">¶</a></caption>
788
- <colgroup>
789
- <col width="50%" />
790
- <col width="50%" />
791
- </colgroup>
792
- <thead valign="bottom">
793
- <tr class="row-odd"><th class="head">Variable</th>
794
- <th class="head">Description</th>
795
- </tr>
796
- </thead>
797
- <tbody valign="top">
798
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_TOPIC</span></code></td>
799
- <td>The topic of the message.</td>
800
- </tr>
801
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_DATA</span></code></td>
802
- <td>The data the message contains.</td>
803
- </tr>
804
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_DATA_LENGTH</span></code></td>
805
- <td>The length of the data the message
806
- contains.</td>
807
- </tr>
808
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_BOOKMARK</span></code></td>
809
- <td>The bookmark associated with this message.
810
- This is an empty string if the message does
811
- not have a bookmark.</td>
812
- </tr>
813
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_CLIENT_NAME</span></code></td>
814
- <td>The name of the client to which this
815
- message was delivered.</td>
816
- </tr>
817
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_CORRELATION_ID</span></code></td>
818
- <td>The correlation ID set on the publish command,
819
- if one was set.</td>
820
- </tr>
821
- </tbody>
822
- </table>
823
- </div>
824
- <div class="section" id="running-an-action-on-message-publish">
825
- <span id="ug-actions-on-message-publish"></span><h4>Running an Action on Message Publish<a class="headerlink" href="#running-an-action-on-message-publish" title="Permalink to this headline">¶</a></h4>
826
- <p>AMPS provides modules to run actions when a message is published to
827
- AMPS. The basic flow of AMPS messaging is to first receive a published
828
- message, find the subscriber(s) to which this message will be sent, then
829
- deliver that message to the subscriber(s).</p>
830
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-publish-message</span></code> runs actions as soon as a message
831
- is published to AMPS.</p>
832
- <div class="admonition warning">
833
- <p class="first admonition-title">Warning</p>
834
- <p>This action is treated by the AMPS engine as a subscription from
835
- an internal AMPS client.</p>
836
- <p class="last">When working with queues, use this action with the <em>underlying
837
- topic</em> of the queue rather than the queue topic itself. Because
838
- this action creates a subscription, using this action with the
839
- queue topic will cause the action to lease messages from the
840
- queue even though the action does <em>not</em> acknowledge messages.
841
- This means that, when used with the queue topic itself,
842
- the action will interfere with other subscribers and depending
843
- on the queue configuration, may only receive one message during
844
- the lifetime of the instance.</p>
845
- </div>
846
- <p>This module requires the <code class="docutils literal"><span class="pre">Topic</span></code> and the <code class="docutils literal"><span class="pre">MessageType</span></code> of the
847
- message that was published. In addition to that, this module also
848
- accepts the optional parameters listed below:</p>
849
- <table border="1" class="docutils" id="id16">
850
- <caption><span class="caption-text"><em>Parameters for On Publish Message</em></span><a class="headerlink" href="#id16" title="Permalink to this table">¶</a></caption>
851
- <colgroup>
852
- <col width="50%" />
853
- <col width="50%" />
854
- </colgroup>
855
- <thead valign="bottom">
856
- <tr class="row-odd"><th class="head">Parameter</th>
857
- <th class="head">Description</th>
858
- </tr>
859
- </thead>
860
- <tbody valign="top">
861
- <tr class="row-even"><td><div class="req first last docutils container">
862
- Topic</div>
863
- </td>
864
- <td>The name of the topic to monitor for publishes. This
865
- parameter supports regular expressions. There is no
866
- default for this parameter.</td>
867
- </tr>
868
- <tr class="row-odd"><td><div class="req first last docutils container">
869
- MessageType</div>
870
- </td>
871
- <td>The message type of the topic to monitor for
872
- publishes. There is no default for this parameter.</td>
873
- </tr>
874
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">MessageSource</span></code></td>
875
- <td><p class="first">The source to monitor for publishes. The source of
876
- the message defaults to <code class="docutils literal"><span class="pre">all</span></code>, which monitors both
877
- publishes directly to this AMPS instance and
878
- messages received via replication.</p>
879
- <p class="last">This parameter also accepts <code class="docutils literal"><span class="pre">local</span></code> for when the
880
- message source is published directly to this AMPS
881
- instance and <code class="docutils literal"><span class="pre">replicated</span></code> for messages received
882
- via replication.</p>
883
- </td>
884
- </tr>
885
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">Filter</span></code></td>
886
- <td>Sets the filter to apply. Only messages that match
887
- this filter will cause the action to run.</td>
888
- </tr>
889
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">Options</span></code></td>
890
- <td>Sets the options to apply when listening for
891
- messages. This action supports any option that would
892
- be supported by the <cite>subscribe</cite> command when not
893
- using a bookmark.</td>
894
- </tr>
895
- </tbody>
896
- </table>
897
- <p>This module adds the following variables to the AMPS context:</p>
898
- <table border="1" class="docutils" id="id17">
899
- <caption><span class="caption-text"><em>Context Variables for On Publish Message</em></span><a class="headerlink" href="#id17" title="Permalink to this table">¶</a></caption>
900
- <colgroup>
901
- <col width="50%" />
902
- <col width="50%" />
903
- </colgroup>
904
- <thead valign="bottom">
905
- <tr class="row-odd"><th class="head">Variable</th>
906
- <th class="head">Description</th>
907
- </tr>
908
- </thead>
909
- <tbody valign="top">
910
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_TOPIC</span></code></td>
911
- <td>The topic of the message.</td>
912
- </tr>
913
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_DATA</span></code></td>
914
- <td>The data the message contains.</td>
915
- </tr>
916
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_DATA_LENGTH</span></code></td>
917
- <td>The length of the data that the
918
- message contains.</td>
919
- </tr>
920
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_BOOKMARK</span></code></td>
921
- <td>The bookmark associated with this
922
- message.</td>
923
- </tr>
924
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_TIMESTAMP</span></code></td>
925
- <td>The time at which the message was
926
- processed by AMPS.</td>
927
- </tr>
928
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_CLIENT_NAME</span></code></td>
929
- <td>The name of the client from which
930
- the message was published.</td>
931
- </tr>
932
- </tbody>
933
- </table>
934
- </div>
935
- <div class="section" id="running-an-action-on-oof-message">
936
- <span id="ug-actions-on-oof-message"></span><h4>Running an Action on OOF Message<a class="headerlink" href="#running-an-action-on-oof-message" title="Permalink to this headline">¶</a></h4>
937
- <p>When a record that previously matched a subscription has been updated so
938
- that the record no longer matches its subscription, AMPS sends an
939
- out-of-focus (OOF) message to let subscribers know that their record no
940
- longer matches the subscription. With <code class="docutils literal"><span class="pre">amps-action-on-oof-message</span></code>,
941
- you can enter a subscription within AMPS and run actions when an OOF
942
- message for that subscription is produced.</p>
943
- <div class="admonition warning">
944
- <p class="first admonition-title">Warning</p>
945
- <p>This action is treated by the AMPS engine as a subscription from
946
- an internal AMPS client.</p>
947
- <p><em>Do not</em> use this action with queue topics. Because
948
- this action creates a subscription, using this action with the
949
- queue topic will cause the action to lease messages from the
950
- queue even though the action does <em>not</em> acknowledge messages.
951
- This means that, when used with the queue topic itself,
952
- the action will interfere with other subscribers and, depending
953
- on the queue configuration, may only receive one message during
954
- the lifetime of the instance.</p>
955
- <p class="last">Furthermore, because each publish to a queue topic is treated
956
- as a distinct message, a subscription to a queue topic
957
- will never produce <code class="docutils literal"><span class="pre">oof</span></code> messages.</p>
958
- </div>
959
- <p>This module requires the <code class="docutils literal"><span class="pre">Topic</span></code> and the <code class="docutils literal"><span class="pre">MessageType</span></code> of the OOF
960
- message. In addition to that, this module also accepts the optional
961
- parameters listed below:</p>
962
- <table border="1" class="docutils" id="id18">
963
- <caption><span class="caption-text"><em>Parameters for On OOF Message</em></span><a class="headerlink" href="#id18" title="Permalink to this table">¶</a></caption>
964
- <colgroup>
965
- <col width="50%" />
966
- <col width="50%" />
967
- </colgroup>
968
- <thead valign="bottom">
969
- <tr class="row-odd"><th class="head">Parameter</th>
970
- <th class="head">Description</th>
971
- </tr>
972
- </thead>
973
- <tbody valign="top">
974
- <tr class="row-even"><td><div class="req first last docutils container">
975
- Topic</div>
976
- </td>
977
- <td><p class="first">The topic to monitor for OOF messages. The topic specified must be a SOW topic,
978
- view or conflated topic. This parameter supports regular expressions. There is no
979
- default for this parameter.</p>
980
- <p class="last"><em>This module should not be used with queue topics.</em></p>
981
- </td>
982
- </tr>
983
- <tr class="row-odd"><td><div class="req first last docutils container">
984
- MessageType</div>
985
- </td>
986
- <td>The message type of the topic to monitor for OOF messages. This parameter supports
987
- regular expressions. There is no default for this parameter.</td>
988
- </tr>
989
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">Filter</span></code></td>
990
- <td>Set the filter to apply. This filter forms the internal subscription for which OOF
991
- messages will be generated.</td>
992
- </tr>
993
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">Type</span></code></td>
994
- <td><p class="first">The type of OOF message to take action on.</p>
995
- <ul class="simple">
996
- <li><code class="docutils literal"><span class="pre">match</span></code> - take action on OOF messages generated because message no longer
997
- matches filter.</li>
998
- <li><code class="docutils literal"><span class="pre">delete</span></code> - take action on OOF messages generated because message has been
999
- removed from the SOW.</li>
1000
- <li><code class="docutils literal"><span class="pre">expire</span></code> - take action on OOF messages generated because the message expired
1001
- from the SOW.</li>
1002
- <li><code class="docutils literal"><span class="pre">all</span></code> - take action on all of the above types.</li>
1003
- </ul>
1004
- <p class="last">Defaults to <code class="docutils literal"><span class="pre">all</span></code>.</p>
1005
- </td>
1006
- </tr>
1007
- </tbody>
1008
- </table>
1009
- <p>This module adds the following variables to the AMPS context:</p>
1010
- <table border="1" class="docutils" id="id19">
1011
- <caption><span class="caption-text"><em>Context Variables for On OOF Message</em></span><a class="headerlink" href="#id19" title="Permalink to this table">¶</a></caption>
1012
- <colgroup>
1013
- <col width="50%" />
1014
- <col width="50%" />
1015
- </colgroup>
1016
- <thead valign="bottom">
1017
- <tr class="row-odd"><th class="head">Variable</th>
1018
- <th class="head">Description</th>
1019
- </tr>
1020
- </thead>
1021
- <tbody valign="top">
1022
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_TOPIC</span></code></td>
1023
- <td>The topic of the OOF message.</td>
1024
- </tr>
1025
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_DATA</span></code></td>
1026
- <td>The data of the OOF message.</td>
1027
- </tr>
1028
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_DATA_LENGTH</span></code></td>
1029
- <td>The length of the data of the
1030
- OOF message.</td>
1031
- </tr>
1032
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_PREVIOUS_DATA</span></code></td>
1033
- <td>The data previously contained
1034
- from the updated record.</td>
1035
- </tr>
1036
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_PREVIOUS_DATA_LENGTH</span></code></td>
1037
- <td>The length of the data
1038
- previously contained from the
1039
- updated record.</td>
1040
- </tr>
1041
- </tbody>
1042
- </table>
1043
- </div>
1044
- <div class="section" id="running-an-action-on-affinity-assignment">
1045
- <h4>Running an Action on Affinity Assignment<a class="headerlink" href="#running-an-action-on-affinity-assignment" title="Permalink to this headline">¶</a></h4>
1046
- <p>AMPS includes a module to help with building a message affinitization
1047
- strategy.</p>
1048
- <p>With message affinitization, each record in a SOW Topic can be
1049
- assigned to a single affinitized client. The
1050
- <code class="docutils literal"><span class="pre">amps-action-on-message-affinity</span></code> module handles monitoring the
1051
- SOW topic and running an action when a key is affinitized or
1052
- de-affinitized.</p>
1053
- <p>A client connection indicates that it wants to participate
1054
- in affinitization by subscribing to a topic to be used
1055
- for the assignment metadata, referred to as the &#8220;control topic&#8221;.</p>
1056
- <p>Notice that although this action runs when message affinitization is
1057
- updated, the <code class="docutils literal"><span class="pre">On</span></code> step does not, by itself, specify what
1058
- happens when affinitization is updated. It is up to the Action
1059
- configuration to take appropriate steps when affinitization is
1060
- updated.</p>
1061
- <div class="admonition tip">
1062
- <p class="first admonition-title">Tip</p>
1063
- <p class="last">This module keeps track of affinitizing messages to processors
1064
- and runs an action when affinity is assigned or changed.
1065
- However, it is up to the configuration of the action to
1066
- manage alerting processors, and it is up to the processors
1067
- themselves to respond to the alert and adjust their
1068
- subscriptions accordingly.</p>
1069
- </div>
1070
- <p>This action requires the following parameters. In addition to that,
1071
- this module also accepts an optional parameter listed below:</p>
1072
- <table border="1" class="docutils">
1073
- <colgroup>
1074
- <col width="25%" />
1075
- <col width="75%" />
1076
- </colgroup>
1077
- <thead valign="bottom">
1078
- <tr class="row-odd"><th class="head">Parameter</th>
1079
- <th class="head">Description</th>
1080
- </tr>
1081
- </thead>
1082
- <tbody valign="top">
1083
- <tr class="row-even"><td><div class="req first last docutils container">
1084
- MessageType</div>
1085
- </td>
1086
- <td>The message type of the monitored topic and the control
1087
- topic.</td>
1088
- </tr>
1089
- <tr class="row-odd"><td><div class="req first last docutils container">
1090
- ControlTopic</div>
1091
- </td>
1092
- <td>The name of the control topic. This topic is monitored
1093
- for subscriptions. Any client that subscribes to the
1094
- <code class="docutils literal"><span class="pre">ControlTopic</span></code> is considered to be eligible to have
1095
- messages affinitized to that client.</td>
1096
- </tr>
1097
- <tr class="row-even"><td><div class="req first last docutils container">
1098
- DataTopic</div>
1099
- </td>
1100
- <td><p class="first">The name of the topic that contains the messages to be
1101
- affinitized. Each distinct record in the topic (that is,
1102
- each distinct SOW Key) will be affinitized.</p>
1103
- <p class="last">By default, all data within the topic will be affinitized.
1104
- Optionally, you can restrict affinitization to only
1105
- certain records (for example, orders in a certain state)
1106
- by setting the <code class="docutils literal"><span class="pre">DataFilter</span></code> option.</p>
1107
- </td>
1108
- </tr>
1109
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">DataFilter</span></code></td>
1110
- <td>When present, restricts affinitization to only those
1111
- messages in the <code class="docutils literal"><span class="pre">DataTopic</span></code> that also match the
1112
- <code class="docutils literal"><span class="pre">DataFilter</span></code>.</td>
1113
- </tr>
1114
- </tbody>
1115
- </table>
1116
- <p><em>Parameters for On Message Affinity</em></p>
1117
- <p>This module adds the following variables to the AMPS context:</p>
1118
- <table border="1" class="docutils">
1119
- <colgroup>
1120
- <col width="34%" />
1121
- <col width="66%" />
1122
- </colgroup>
1123
- <thead valign="bottom">
1124
- <tr class="row-odd"><th class="head">Variable</th>
1125
- <th class="head">Description</th>
1126
- </tr>
1127
- </thead>
1128
- <tbody valign="top">
1129
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_DATA</span></code></td>
1130
- <td>The data of the message being
1131
- affinitized.</td>
1132
- </tr>
1133
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_CLIENT_NAME</span></code></td>
1134
- <td>The name of the client the message is
1135
- being affinitized to or removed from.</td>
1136
- </tr>
1137
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_AFFINITY_ACTION</span></code></td>
1138
- <td>The type of event. If the message is being
1139
- affinitized to this client, the type will be
1140
- <code class="docutils literal"><span class="pre">assign</span></code>. If the message is being
1141
- de-affinitized, the type will be <code class="docutils literal"><span class="pre">unassign</span></code>.</td>
1142
- </tr>
1143
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_AFFINITY_REASON</span></code></td>
1144
- <td>The reason for the event. For example, if the
1145
- message no longer matches the <code class="docutils literal"><span class="pre">DataFilter</span></code>
1146
- or has been deleted, the reason would be
1147
- <code class="docutils literal"><span class="pre">oof</span></code>. If the update is happening because
1148
- the client that was assigned to the message is
1149
- no longer active, the reason would be
1150
- <code class="docutils literal"><span class="pre">unsubscribe</span></code>.</td>
1151
- </tr>
1152
- </tbody>
1153
- </table>
1154
- <p><em>Context Variables for On Message Affinity</em></p>
1155
- <div class="section" id="considerations-and-limitations">
1156
- <h5>Considerations and Limitations<a class="headerlink" href="#considerations-and-limitations" title="Permalink to this headline">¶</a></h5>
1157
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-message-affinity</span></code> module has the following considerations
1158
- for use:</p>
1159
- <ul class="simple">
1160
- <li>Affinitization is tracked independently on <em>each</em> instance of AMPS.
1161
- In a replicated mesh of AMPS instances, each instance independently
1162
- monitors the <code class="docutils literal"><span class="pre">DataTopic</span></code> and <code class="docutils literal"><span class="pre">ControlTopic</span></code>. AMPS does not make any
1163
- effort to coordinate affinitization across replicated instances.</li>
1164
- <li>The affinitization module relies on the SOW key (or grouping, for
1165
- affinitization over views) to determine message identity. Therefore,
1166
- affinitization can only be used for a <code class="docutils literal"><span class="pre">Topic</span></code>, <code class="docutils literal"><span class="pre">RegexTopic</span></code>, <code class="docutils literal"><span class="pre">View</span></code>,
1167
- or <code class="docutils literal"><span class="pre">ConflatedTopic</span></code>. Since each message in a <code class="docutils literal"><span class="pre">Queue</span></code>, <code class="docutils literal"><span class="pre">LocalQueue</span></code>, or
1168
- <code class="docutils literal"><span class="pre">GroupLocalQueue</span></code> is considered to be a distinct message, monitoring
1169
- one of these topic types for affinitization would not produce
1170
- useful results (however, if the underlying topic of a queue is
1171
- maintained as a <code class="docutils literal"><span class="pre">Topic</span></code> in the SOW, using that <code class="docutils literal"><span class="pre">Topic</span></code> for affinitization
1172
- could be useful).</li>
1173
- </ul>
1174
- </div>
1175
- <div class="section" id="affinitization-configuration-example">
1176
- <h5>Affinitization Configuration Example<a class="headerlink" href="#affinitization-configuration-example" title="Permalink to this headline">¶</a></h5>
1177
- <p>The following example shows one way to use the <code class="docutils literal"><span class="pre">amps-action-on-message-affinity</span></code>
1178
- module to assign specific symbols to a processor. In this example, a processor
1179
- would subscribe to the <code class="docutils literal"><span class="pre">symbol_processor_assignments</span></code> topic to receive the
1180
- symbols that have been affinitized to that processor. It would then maintain a
1181
- subscription to the <code class="docutils literal"><span class="pre">orders</span></code> topic with a filter that limits the subscription
1182
- to just the symbols that have been provided to the subscriber from the
1183
- <code class="docutils literal"><span class="pre">symbol_processor_assignments</span></code> topic.</p>
1184
- <p>When a processor receives an event with a symbol and the event <code class="docutils literal"><span class="pre">&quot;assign&quot;</span></code>, the
1185
- processor adds the symbol in that event to the list of symbols in the filter for
1186
- the subscription to the orders topic (typically, using the <code class="docutils literal"><span class="pre">replace</span></code> option
1187
- to adjust the existing subscription in place). When a processor receives an
1188
- event with a symbol and the event <code class="docutils literal"><span class="pre">&quot;unassign&quot;</span></code>, the processor removes that
1189
- symbol from the filter for the subscription to the orders topic.</p>
1190
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;Action&gt;</span>
1191
- <span class="nt">&lt;On&gt;</span>
1192
- <span class="nt">&lt;Module&gt;</span>amps-action-on-message-affinity<span class="nt">&lt;/Module&gt;</span>
1193
- <span class="nt">&lt;Options&gt;</span>
1194
- <span class="nt">&lt;MessageType&gt;</span>json<span class="nt">&lt;/MessageType&gt;</span>
1195
- <span class="nt">&lt;DataTopic&gt;</span>symbols<span class="nt">&lt;/DataTopic&gt;</span>
1196
- <span class="nt">&lt;ControlTopic&gt;</span>symbol_processor_assignments<span class="nt">&lt;/ControlTopic&gt;</span>
1197
- <span class="nt">&lt;/Options&gt;</span>
1198
- <span class="nt">&lt;/On&gt;</span>
1199
- <span class="nt">&lt;Do&gt;</span>
1200
- <span class="nt">&lt;Module&gt;</span>amps-action-do-extract-values<span class="nt">&lt;/Module&gt;</span>
1201
- <span class="nt">&lt;Options&gt;</span>
1202
- <span class="nt">&lt;Data&gt;</span>{{AMPS_DATA}}<span class="nt">&lt;/Data&gt;</span>
1203
- <span class="nt">&lt;MessageType&gt;</span>json<span class="nt">&lt;/MessageType&gt;</span>
1204
- <span class="nt">&lt;Value&gt;</span>SYMBOL=/symbol<span class="nt">&lt;/Value&gt;</span>
1205
- <span class="nt">&lt;/Options&gt;</span>
1206
- <span class="nt">&lt;/Do&gt;</span>
1207
- <span class="nt">&lt;Do&gt;</span>
1208
- <span class="nt">&lt;Module&gt;</span>amps-action-do-publish-message<span class="nt">&lt;/Module&gt;</span>
1209
- <span class="nt">&lt;Options&gt;</span>
1210
- <span class="nt">&lt;MessageType&gt;</span>json<span class="nt">&lt;/MessageType&gt;</span>
1211
- <span class="nt">&lt;Topic&gt;</span>symbol_processor_assignments<span class="nt">&lt;/Topic&gt;</span>
1212
- <span class="nt">&lt;Data&gt;</span>{&quot;client_name&quot;:&quot;{{AMPS_CLIENT_NAME}}&quot;,
1213
- &quot;symbol&quot;:&quot;{{SYMBOL}}&quot;,
1214
- &quot;event&quot;:&quot;{{AMPS_AFFINITY_ACTION}}&quot;,
1215
- &quot;reason&quot;:&quot;{{AMPS_AFFINITY_REASON}}&quot;}<span class="nt">&lt;/Data&gt;</span>
1216
- <span class="nt">&lt;/Options&gt;</span>
1217
- <span class="nt">&lt;/Do&gt;</span>
1218
- <span class="nt">&lt;If&gt;</span>
1219
- <span class="nt">&lt;Module&gt;</span>amps-action-if-condition<span class="nt">&lt;/Module&gt;</span>
1220
- <span class="nt">&lt;Options&gt;</span>
1221
- <span class="nt">&lt;Condition&gt;</span>&quot;{{AMPS_AFFINITY_ACTION}}&quot; == &quot;unassign&quot;<span class="nt">&lt;/Condition&gt;</span>
1222
- <span class="nt">&lt;/Options&gt;</span>
1223
- <span class="nt">&lt;/If&gt;</span>
1224
- <span class="nt">&lt;Do&gt;</span>
1225
- <span class="nt">&lt;Module&gt;</span>amps-action-do-delete-sow<span class="nt">&lt;/Module&gt;</span>
1226
- <span class="nt">&lt;Options&gt;</span>
1227
- <span class="nt">&lt;Topic&gt;</span>symbol_processor_assignments<span class="nt">&lt;/Topic&gt;</span>
1228
- <span class="nt">&lt;MessageType&gt;</span>json<span class="nt">&lt;/MessageType&gt;</span>
1229
- <span class="nt">&lt;Filter&gt;</span>/symbol = &quot;{{SYMBOL}}&quot;<span class="nt">&lt;/Filter&gt;</span>
1230
- <span class="nt">&lt;/Options&gt;</span>
1231
- <span class="nt">&lt;/Do&gt;</span>
1232
- <span class="nt">&lt;/Action&gt;</span>
1233
- </pre></div>
1234
- </div>
1235
- <p>The underlying topics can be defined as needed. For example, the following
1236
- configuration automatically tracks the set of symbols in an orders topic
1237
- to be affinitized using the action above:</p>
1238
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;SOW&gt;</span>
1239
- <span class="nt">&lt;Topic&gt;</span>
1240
- <span class="nt">&lt;Name&gt;</span>orders<span class="nt">&lt;/Name&gt;</span>
1241
- <span class="nt">&lt;MessageType&gt;</span>json<span class="nt">&lt;/MessageType&gt;</span>
1242
- <span class="nt">&lt;Key&gt;</span>/id<span class="nt">&lt;/Key&gt;</span>
1243
- <span class="nt">&lt;FileName&gt;</span>${AMPS_DATA}/sow/%n.sow<span class="nt">&lt;/FileName&gt;</span>
1244
- <span class="nt">&lt;/Topic&gt;</span>
1245
- <span class="nt">&lt;View&gt;</span>
1246
- <span class="nt">&lt;Name&gt;</span>symbols<span class="nt">&lt;/Name&gt;</span>
1247
- <span class="nt">&lt;MessageType&gt;</span>json<span class="nt">&lt;/MessageType&gt;</span>
1248
- <span class="nt">&lt;UnderlyingTopic&gt;</span>orders<span class="nt">&lt;/UnderlyingTopic&gt;</span>
1249
- <span class="nt">&lt;Projection&gt;&lt;Field&gt;</span>/symbol<span class="nt">&lt;/Field&gt;&lt;/Projection&gt;</span>
1250
- <span class="nt">&lt;Grouping&gt;&lt;Field&gt;</span>/symbol<span class="nt">&lt;/Field&gt;&lt;/Grouping&gt;</span>
1251
- <span class="nt">&lt;/View&gt;</span>
1252
- <span class="nt">&lt;Topic&gt;</span>
1253
- <span class="nt">&lt;Name&gt;</span>symbol_processor_assignments<span class="nt">&lt;/Name&gt;</span>
1254
- <span class="nt">&lt;MessageType&gt;</span>json<span class="nt">&lt;/MessageType&gt;</span>
1255
- <span class="nt">&lt;Key&gt;</span>/symbol<span class="nt">&lt;/Key&gt;</span>
1256
- <span class="nt">&lt;Durability&gt;</span>transient<span class="nt">&lt;/Durability&gt;</span>
1257
- <span class="nt">&lt;/Topic&gt;</span>
1258
- <span class="nt">&lt;/SOW&gt;</span>
1259
- </pre></div>
1260
- </div>
1261
- <p>This action attempts to affinitize new messages so as to keep the overall
1262
- number of messages roughly balanced across the current processors. If a
1263
- processor unsubscribes from the <code class="docutils literal"><span class="pre">ControlTopic</span></code>, messages currently
1264
- affinitized to that processor will be distributed to other processors.
1265
- However, messages are not rebalanced among running processors. Once a
1266
- given SOW Key is affinitized to a processor, it remains affinitized to
1267
- that processor until the processor unsubscribes, or the record is
1268
- deleted from the topic.</p>
1269
- </div>
1270
- </div>
1271
- <div class="section" id="running-an-action-on-minidump">
1272
- <span id="ug-actions-on-minidump"></span><h4>Running an Action on Minidump<a class="headerlink" href="#running-an-action-on-minidump" title="Permalink to this headline">¶</a></h4>
1273
- <p>AMPS provides the <code class="docutils literal"><span class="pre">amps-action-on-minidump</span></code> module for running actions
1274
- when AMPS generates a minidump.</p>
1275
- <p>This module does not require parameters.</p>
1276
- <p>This module adds the following variable to the AMPS context:</p>
1277
- <table border="1" class="docutils" id="id20">
1278
- <caption><span class="caption-text"><em>Context Variable for On Minidump</em></span><a class="headerlink" href="#id20" title="Permalink to this table">¶</a></caption>
1279
- <colgroup>
1280
- <col width="50%" />
1281
- <col width="50%" />
1282
- </colgroup>
1283
- <thead valign="bottom">
1284
- <tr class="row-odd"><th class="head">Variable</th>
1285
- <th class="head">Description</th>
1286
- </tr>
1287
- </thead>
1288
- <tbody valign="top">
1289
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_MINIDUMP_PATH</span></code></td>
1290
- <td>The path to where the minidump is
1291
- created.</td>
1292
- </tr>
1293
- </tbody>
1294
- </table>
1295
- </div>
1296
- <div class="section" id="running-an-action-on-offline-start-or-stop">
1297
- <span id="ug-actions-on-offline-start"></span><h4>Running an Action on Offline Start or Stop<a class="headerlink" href="#running-an-action-on-offline-start-or-stop" title="Permalink to this headline">¶</a></h4>
1298
- <p>AMPS provides modules to run actions when an AMPS client is marked as a
1299
- slow client and also for when the AMPS client catches up to no longer
1300
- be subject to slow client offlining.</p>
1301
- <p>Slow client offlining is a feature in AMPS that reduces the memory
1302
- resources consumed by slow clients. More on this feature can be found in
1303
- <a class="reference external" href="../../../user-guide/html/chapters/ha.html#slow-client-management-and-capacity-limits">Slow Client Management and Capacity Limits</a>.</p>
1304
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-offline-start</span></code> module runs actions as the first
1305
- step when AMPS&#8217;s result set reaches its disk limit and has to disconnect
1306
- the client. The <code class="docutils literal"><span class="pre">amps-action-on-offline-stop</span></code> module runs actions as
1307
- AMPS is no longer subject to slow client offlining.</p>
1308
- <p>In both cases, actions run in the order that the actions appear in the
1309
- configuration file.</p>
1310
- <p>Both modules do not require any parameters.</p>
1311
- <p>Both modules add the following variables to the AMPS context:</p>
1312
- <table border="1" class="docutils" id="id21">
1313
- <caption><span class="caption-text"><em>Context Variables for On Offline Start and Stop</em></span><a class="headerlink" href="#id21" title="Permalink to this table">¶</a></caption>
1314
- <colgroup>
1315
- <col width="50%" />
1316
- <col width="50%" />
1317
- </colgroup>
1318
- <thead valign="bottom">
1319
- <tr class="row-odd"><th class="head">Variable</th>
1320
- <th class="head">Description</th>
1321
- </tr>
1322
- </thead>
1323
- <tbody valign="top">
1324
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_CLIENT_NAME</span></code></td>
1325
- <td>The name of the AMPS client.</td>
1326
- </tr>
1327
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_CONNECTION_NAME</span></code></td>
1328
- <td>The name of the AMPS connection.</td>
1329
- </tr>
1330
- </tbody>
1331
- </table>
1332
- </div>
1333
- <div class="section" id="running-an-action-on-sow-message-deletion">
1334
- <h4>Running an Action on SOW Message Deletion<a class="headerlink" href="#running-an-action-on-sow-message-deletion" title="Permalink to this headline">¶</a></h4>
1335
- <p>AMPS provides a module to run an action when a message is deleted from a
1336
- topic in the SOW.</p>
1337
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-sow-delete-message</span></code> module monitors a topic for
1338
- deletions from the SOW. The action runs once for each message that is
1339
- deleted in the matching topic.</p>
1340
- <p>This action requires the following parameters:</p>
1341
- <table border="1" class="docutils" id="id22">
1342
- <caption><span class="caption-text"><em>Parameters for On SOW Message Deletion</em></span><a class="headerlink" href="#id22" title="Permalink to this table">¶</a></caption>
1343
- <colgroup>
1344
- <col width="50%" />
1345
- <col width="50%" />
1346
- </colgroup>
1347
- <thead valign="bottom">
1348
- <tr class="row-odd"><th class="head">Parameter</th>
1349
- <th class="head">Description</th>
1350
- </tr>
1351
- </thead>
1352
- <tbody valign="top">
1353
- <tr class="row-even"><td><div class="req first last docutils container">
1354
- Topic</div>
1355
- </td>
1356
- <td>The name of the topic to monitor for messages. This
1357
- parameter <em>does not</em> support regular expressions.
1358
- The topic name must be either a SOW topic, a view,
1359
- a conflated topic or a queue. There is no default
1360
- for this parameter.</td>
1361
- </tr>
1362
- <tr class="row-odd"><td><div class="req first last docutils container">
1363
- MessageType</div>
1364
- </td>
1365
- <td>The message type of the topic to monitor for
1366
- messages. There is no default for this parameter.</td>
1367
- </tr>
1368
- </tbody>
1369
- </table>
1370
- <p>The module adds the following variables to the AMPS context:</p>
1371
- <table border="1" class="docutils" id="id23">
1372
- <caption><span class="caption-text"><em>Context Variables for On SOW Message Delete</em></span><a class="headerlink" href="#id23" title="Permalink to this table">¶</a></caption>
1373
- <colgroup>
1374
- <col width="50%" />
1375
- <col width="50%" />
1376
- </colgroup>
1377
- <thead valign="bottom">
1378
- <tr class="row-odd"><th class="head">Variable</th>
1379
- <th class="head">Description</th>
1380
- </tr>
1381
- </thead>
1382
- <tbody valign="top">
1383
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_TOPIC</span></code></td>
1384
- <td>The topic of the message that was deleted.</td>
1385
- </tr>
1386
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_DATA</span></code></td>
1387
- <td>The current data of the message.</td>
1388
- </tr>
1389
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_DATA_LENGTH</span></code></td>
1390
- <td>The length of the current data of
1391
- the message, in bytes.</td>
1392
- </tr>
1393
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_CORRELATION_ID</span></code></td>
1394
- <td>The correlation ID set on the publish command,
1395
- if one was set.</td>
1396
- </tr>
1397
- </tbody>
1398
- </table>
1399
- </div>
1400
- <div class="section" id="running-an-action-on-sow-message-expiration">
1401
- <h4>Running an Action on SOW Message Expiration<a class="headerlink" href="#running-an-action-on-sow-message-expiration" title="Permalink to this headline">¶</a></h4>
1402
- <p>AMPS provides a module to run an action when a message expires from a
1403
- topic in the SOW.</p>
1404
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-sow-expire-message</span></code> module monitors a topic for
1405
- expirations. The action runs once for each message that expires in the
1406
- matching topic. Notice, in particular, that this includes monitoring
1407
- messages that expire from the queue, which are presented as SOW
1408
- expirations to this module.</p>
1409
- <p>This action requires the following parameters. In addition to that,
1410
- this module also accepts an optional parameter listed below:</p>
1411
- <table border="1" class="docutils" id="id24">
1412
- <caption><span class="caption-text"><em>Parameters for On SOW Message Expiration</em></span><a class="headerlink" href="#id24" title="Permalink to this table">¶</a></caption>
1413
- <colgroup>
1414
- <col width="50%" />
1415
- <col width="50%" />
1416
- </colgroup>
1417
- <thead valign="bottom">
1418
- <tr class="row-odd"><th class="head">Parameter</th>
1419
- <th class="head">Description</th>
1420
- </tr>
1421
- </thead>
1422
- <tbody valign="top">
1423
- <tr class="row-even"><td><div class="req first last docutils container">
1424
- Topic</div>
1425
- </td>
1426
- <td>The name of the topic to monitor for messages. This
1427
- parameter <em>does not</em> support regular expressions.
1428
- The topic name must be either a SOW topic, a view,
1429
- a conflated topic or a queue. There is no default
1430
- for this parameter.</td>
1431
- </tr>
1432
- <tr class="row-odd"><td><div class="req first last docutils container">
1433
- MessageType</div>
1434
- </td>
1435
- <td>The message type of the topic to monitor for
1436
- messages. There is no default for this parameter.</td>
1437
- </tr>
1438
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">Reason</span></code></td>
1439
- <td>An optional comma-delimited string indicating the
1440
- expiration reasons to monitor for. For example,
1441
- setting this to <code class="docutils literal"><span class="pre">time_limit,forced_expire</span></code> will
1442
- cause this action to be invoked only when the
1443
- expiration reason includes one of <code class="docutils literal"><span class="pre">time_limit</span></code> or
1444
- <code class="docutils literal"><span class="pre">forced_expire</span></code>. For more information on the
1445
- allowed values and definitions, see the
1446
- documentation for <code class="docutils literal"><span class="pre">AMPS_REASON</span></code> below.</td>
1447
- </tr>
1448
- </tbody>
1449
- </table>
1450
- <p>The module adds the following variables to the AMPS context:</p>
1451
- <table border="1" class="docutils" id="id25">
1452
- <caption><span class="caption-text"><em>Context Variables for On SOW Message Expire</em></span><a class="headerlink" href="#id25" title="Permalink to this table">¶</a></caption>
1453
- <colgroup>
1454
- <col width="50%" />
1455
- <col width="50%" />
1456
- </colgroup>
1457
- <thead valign="bottom">
1458
- <tr class="row-odd"><th class="head">Variable</th>
1459
- <th class="head">Description</th>
1460
- </tr>
1461
- </thead>
1462
- <tbody valign="top">
1463
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_TOPIC</span></code></td>
1464
- <td>The topic of the message that
1465
- expired.</td>
1466
- </tr>
1467
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_DATA</span></code></td>
1468
- <td>The current data of the message.</td>
1469
- </tr>
1470
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_DATA_LENGTH</span></code></td>
1471
- <td>The length of the current data of
1472
- the message, in bytes.</td>
1473
- </tr>
1474
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_REASON</span></code></td>
1475
- <td><p class="first">A comma-delimited string indicating
1476
- one or more reason(s) the message was
1477
- expired. This string contains one or
1478
- more of the following values:</p>
1479
- <ul class="last simple">
1480
- <li><code class="docutils literal"><span class="pre">time_limit</span></code> - the expiration
1481
- time for this message or topic has
1482
- passed.</li>
1483
- <li><code class="docutils literal"><span class="pre">forced_expire</span></code> - this queue
1484
- message was acknowledged with an
1485
- <code class="docutils literal"><span class="pre">expire</span></code> option resulting in the
1486
- message&#8217;s immediate removal.</li>
1487
- <li><code class="docutils literal"><span class="pre">max_cancels</span></code> - this queue
1488
- message was acknowledged with a
1489
- <code class="docutils literal"><span class="pre">cancel</span></code> option and the number
1490
- of cancels exceeded the queue&#8217;s
1491
- configured <code class="docutils literal"><span class="pre">MaxCancels</span></code> limit.</li>
1492
- <li><code class="docutils literal"><span class="pre">max_deliveries</span></code> - this queue
1493
- message was not successfully
1494
- acknowledged by a subscriber and
1495
- the number of deliveries has
1496
- exceeded the queue&#8217;s
1497
- <code class="docutils literal"><span class="pre">MaxDeliveries</span></code> limit.</li>
1498
- </ul>
1499
- </td>
1500
- </tr>
1501
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_CORRELATION_ID</span></code></td>
1502
- <td>The correlation ID set on the
1503
- publish command if one was set.</td>
1504
- </tr>
1505
- </tbody>
1506
- </table>
1507
- </div>
1508
- <div class="section" id="running-an-action-on-message-state-change">
1509
- <span id="actions-on-alert"></span><h4>Running an Action on Message State Change<a class="headerlink" href="#running-an-action-on-message-state-change" title="Permalink to this headline">¶</a></h4>
1510
- <p>AMPS provides two modules, <code class="docutils literal"><span class="pre">amps-action-on-alert</span></code> and
1511
- <code class="docutils literal"><span class="pre">amps-action-on-message-condition-timeout</span></code>, to run an action when a
1512
- message in a SOW topic meets a specific condition for longer than a
1513
- specified period of time. These modules provide a way to track specific
1514
- messages in a SOW topic and indicate whether the message has timed out
1515
- (that is, been in the monitored state longer than expected) or whether
1516
- the message has been processed as expected and is no longer being tracked
1517
- within the specified timeout.</p>
1518
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-alert</span></code> action monitors a SOW topic
1519
- for messages that match a filter and triggers an action when either:</p>
1520
- <ul class="simple">
1521
- <li>The message has remained matched on the filter for at least the
1522
- specified duration (indicating a timeout), <em>or</em></li>
1523
- <li>An out-of-focus message is received for the message
1524
- (indicating that the message is no longer tracked)</li>
1525
- </ul>
1526
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-message-condition-timeout</span></code> action monitors a SOW topic
1527
- for messages that match a filter and triggers an action when:</p>
1528
- <ul class="simple">
1529
- <li>The message has remained matched on the filter for at least the
1530
- specified duration (indicating a timeout)</li>
1531
- </ul>
1532
- <p>Use <code class="docutils literal"><span class="pre">amps-action-on-message-condition-timeout</span></code> if only timeouts are
1533
- important, otherwise use <code class="docutils literal"><span class="pre">amps-action-on-alert</span></code> if both timeouts and message
1534
- tracking are important.</p>
1535
- <p>For example, a set of actions might be configured to publish a message
1536
- to an <code class="docutils literal"><span class="pre">Alerts</span></code> topic if an order is unprocessed for more than a specified
1537
- timeout. When the order is processed, the actions might publish a message
1538
- to a <code class="docutils literal"><span class="pre">Statistics</span></code> topic for tracking purposes. Rather than creating
1539
- two independent actions, which could lead to overlap if the order is
1540
- processed at the same time that the alert is being generated, use
1541
- this action to guarantee that only one of the events will be generated.</p>
1542
- <p>The module tracks each message that matches the filter individually, and
1543
- will run once for each message tracked.</p>
1544
- <p>This module uses the Out-of-Focus notification (OOF) mechanism. When a
1545
- message matches the specified topic and filter, the module begins
1546
- tracking that message. If no OOF notification is received for that
1547
- message within the specified timeout, the action runs for that message
1548
- and indicates that the timeout has been exceeded. If an OOF notification
1549
- is received before the timeout expires, then the action runs for that
1550
- message, indicating that the message is no longer tracked.</p>
1551
- <p>This module uses the custom event system as a way of indicating whether
1552
- a given message was removed from tracking, or whether the message timed
1553
- out. When configuring the action, you specify the event to raise for
1554
- each of these states. This module stores the exact event raised in a
1555
- context variable, which you can then use with <code class="docutils literal"><span class="pre">amps-action-do-event</span></code>
1556
- to raise the event.</p>
1557
- <div class="admonition caution">
1558
- <p class="first admonition-title">Caution</p>
1559
- <p class="last">While the AMPS server is running, this action will trigger
1560
- exactly once for each message after it reaches the timeout
1561
- period. When AMPS restarts, if a message that had previously
1562
- triggered this action still exists in the SOW topic (and still
1563
- matches the filter provided, if any), the action will run for
1564
- that message immediately after the module initializes on restart.</p>
1565
- </div>
1566
- <p>This action requires the following parameters. In addition to that,
1567
- this module also accepts the optional parameters listed below:</p>
1568
- <table border="1" class="docutils" id="id26">
1569
- <caption><span class="caption-text"><em>Parameters for On Alert</em></span><a class="headerlink" href="#id26" title="Permalink to this table">¶</a></caption>
1570
- <colgroup>
1571
- <col width="50%" />
1572
- <col width="50%" />
1573
- </colgroup>
1574
- <thead valign="bottom">
1575
- <tr class="row-odd"><th class="head">Parameter</th>
1576
- <th class="head">Description</th>
1577
- </tr>
1578
- </thead>
1579
- <tbody valign="top">
1580
- <tr class="row-even"><td><div class="req first last docutils container">
1581
- Topic</div>
1582
- </td>
1583
- <td>The name of the topic to monitor for messages. This
1584
- parameter <em>does not</em> support regular expressions.
1585
- The topic name must be either a SOW topic, a view
1586
- or a conflated topic. Queues are not supported.
1587
- There is no default for this parameter.</td>
1588
- </tr>
1589
- <tr class="row-odd"><td><div class="req first last docutils container">
1590
- MessageType</div>
1591
- </td>
1592
- <td>The message type of the topic to monitor for
1593
- messages. There is no default for this parameter.</td>
1594
- </tr>
1595
- <tr class="row-even"><td><div class="req first last docutils container">
1596
- OOFEvent</div>
1597
- </td>
1598
- <td><p class="first">The value to store when an out-of-focus notification
1599
- is received for a tracked message.</p>
1600
- <p class="last">There is no default for this parameter.</p>
1601
- </td>
1602
- </tr>
1603
- <tr class="row-odd"><td><div class="req first last docutils container">
1604
- TimeoutEvent</div>
1605
- </td>
1606
- <td><p class="first">The value to store when a message is in the tracked
1607
- state for longer than the timeout period.</p>
1608
- <p class="last">There is no default for this parameter.</p>
1609
- </td>
1610
- </tr>
1611
- <tr class="row-even"><td><div class="req first last docutils container">
1612
- EventVariable</div>
1613
- </td>
1614
- <td><p class="first">The name of the context variable in which to store
1615
- the reason that the action is running (either the
1616
- string in <code class="docutils literal"><span class="pre">OOFEvent</span></code> or the string in
1617
- <code class="docutils literal"><span class="pre">TimeoutEvent</span></code>).</p>
1618
- <p class="last">There is no default for this parameter.</p>
1619
- </td>
1620
- </tr>
1621
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">Duration</span></code></td>
1622
- <td>The amount of time to wait for an OOF notification
1623
- for the message before running the action.</td>
1624
- </tr>
1625
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">Filter</span></code></td>
1626
- <td>Sets the filter to apply. Only messages that match
1627
- this filter will be monitored by this action. If no
1628
- filter is provided, every message of the specified
1629
- message type in topics that match the <code class="docutils literal"><span class="pre">Topic</span></code>
1630
- value will be monitored.</td>
1631
- </tr>
1632
- </tbody>
1633
- </table>
1634
- <p>The module adds the following variables to the AMPS context:</p>
1635
- <table border="1" class="docutils" id="id27">
1636
- <caption><span class="caption-text"><em>Context Variables for On Alert</em></span><a class="headerlink" href="#id27" title="Permalink to this table">¶</a></caption>
1637
- <colgroup>
1638
- <col width="50%" />
1639
- <col width="50%" />
1640
- </colgroup>
1641
- <thead valign="bottom">
1642
- <tr class="row-odd"><th class="head">Variable</th>
1643
- <th class="head">Description</th>
1644
- </tr>
1645
- </thead>
1646
- <tbody valign="top">
1647
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_TOPIC</span></code></td>
1648
- <td>The topic of the message that
1649
- triggered the alert.</td>
1650
- </tr>
1651
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_DATA</span></code></td>
1652
- <td>The current data of the message.</td>
1653
- </tr>
1654
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_DATA_LENGTH</span></code></td>
1655
- <td>The length of the current data of
1656
- the message, in bytes.</td>
1657
- </tr>
1658
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_BOOKMARK</span></code></td>
1659
- <td>The bookmark of the message. Empty
1660
- if there is no bookmark for the
1661
- message.</td>
1662
- </tr>
1663
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_TIMESTAMP</span></code></td>
1664
- <td>The timestamp at which the module
1665
- began tracking the message.</td>
1666
- </tr>
1667
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_CLIENT_NAME</span></code></td>
1668
- <td>The client name of the current value
1669
- of the message.</td>
1670
- </tr>
1671
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_SOW_KEY</span></code></td>
1672
- <td>The current SowKey for the message.</td>
1673
- </tr>
1674
- <tr class="row-odd"><td>The variable specified in
1675
- <code class="docutils literal"><span class="pre">EventVariable</span></code></td>
1676
- <td>The reason the action is running.
1677
- This will be either the value of
1678
- <code class="docutils literal"><span class="pre">OOFEvent</span></code> or the value of
1679
- <code class="docutils literal"><span class="pre">TimeoutEvent</span></code>, depending on what
1680
- caused the action to run.</td>
1681
- </tr>
1682
- </tbody>
1683
- </table>
1684
- </div>
1685
- <div class="section" id="running-an-action-on-message-condition-timeout">
1686
- <span id="actions-on-message-status-timeout"></span><h4>Running an Action on Message Condition Timeout<a class="headerlink" href="#running-an-action-on-message-condition-timeout" title="Permalink to this headline">¶</a></h4>
1687
- <p>AMPS provides a module to run an action when a message in a SOW topic
1688
- meets a specific condition for longer than a specified period of time.
1689
- For example, an action might be configured to publish a message to an
1690
- <code class="docutils literal"><span class="pre">Alerts</span></code> topic if an order is unprocessed for more than a specified
1691
- timeout.</p>
1692
- <p>AMPS also provides a module, <code class="docutils literal"><span class="pre">amps-action-on-alert</span></code>, that runs
1693
- when <em>either</em> a message has been in a specific condition for a
1694
- longer than expected period of time, or the module receives an
1695
- out-of-focus notification indicating that the message no longer
1696
- meets the tracking condition. Use that module if both
1697
- conditions are important. Use this module if it is only important
1698
- to track timeouts.</p>
1699
- <p>The <code class="docutils literal"><span class="pre">amps-action-on-message-condition-timeout</span></code> monitors a SOW topic
1700
- for messages that match a filter and triggers an action for each message
1701
- that remains matched on that filter for at least the specified duration.</p>
1702
- <p>This module uses the Out-of-Focus notification (OOF) mechanism. When a
1703
- message matches the specified topic and filter, the module begins
1704
- tracking that message. If no OOF notification is received for that
1705
- message within the specified timeout, the action runs for that message.</p>
1706
- <p>The module tracks each message that matches the filter individually, and
1707
- will run once for each message that exceeds the timeout.</p>
1708
- <div class="admonition caution">
1709
- <p class="first admonition-title">Caution</p>
1710
- <p class="last">While the AMPS server is running, this action will trigger
1711
- exactly once for each message after it reaches the timeout
1712
- period. When AMPS restarts, if a message that had previously
1713
- triggered this action still exists in the SOW topic (and still
1714
- matches the filter provided, if any), the action will run for
1715
- that message immediately after the module initializes on restart.</p>
1716
- </div>
1717
- <p>This action requires the following parameters. In addition to that,
1718
- this module also accepts the optional parameters listed below:</p>
1719
- <table border="1" class="docutils" id="id28">
1720
- <caption><span class="caption-text"><em>Parameters for On Message Condition Timeout</em></span><a class="headerlink" href="#id28" title="Permalink to this table">¶</a></caption>
1721
- <colgroup>
1722
- <col width="50%" />
1723
- <col width="50%" />
1724
- </colgroup>
1725
- <thead valign="bottom">
1726
- <tr class="row-odd"><th class="head">Parameter</th>
1727
- <th class="head">Description</th>
1728
- </tr>
1729
- </thead>
1730
- <tbody valign="top">
1731
- <tr class="row-even"><td><div class="req first last docutils container">
1732
- Topic</div>
1733
- </td>
1734
- <td>The name of the topic to monitor for messages. This
1735
- parameter <em>does not</em> support regular expressions.
1736
- The topic name must be either a SOW topic, a view
1737
- or a conflated topic. Queues are not supported.
1738
- There is no default for this parameter.</td>
1739
- </tr>
1740
- <tr class="row-odd"><td><div class="req first last docutils container">
1741
- MessageType</div>
1742
- </td>
1743
- <td>The message type of the topic to monitor for
1744
- messages. There is no default for this parameter.</td>
1745
- </tr>
1746
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">Duration</span></code></td>
1747
- <td>The amount of time to wait for an OOF notification
1748
- for the message before running the action.</td>
1749
- </tr>
1750
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">Filter</span></code></td>
1751
- <td>Sets the filter to apply. Only messages that match
1752
- this filter will be monitored by this action. If no
1753
- filter is provided, every message of the specified
1754
- message type in topics that match the <code class="docutils literal"><span class="pre">Topic</span></code>
1755
- value will be monitored.</td>
1756
- </tr>
1757
- </tbody>
1758
- </table>
1759
- <p>The module adds the following variables to the AMPS context:</p>
1760
- <table border="1" class="docutils" id="id29">
1761
- <caption><span class="caption-text"><em>Context Variables for On Message Condition Timeout</em></span><a class="headerlink" href="#id29" title="Permalink to this table">¶</a></caption>
1762
- <colgroup>
1763
- <col width="50%" />
1764
- <col width="50%" />
1765
- </colgroup>
1766
- <thead valign="bottom">
1767
- <tr class="row-odd"><th class="head">Variable</th>
1768
- <th class="head">Description</th>
1769
- </tr>
1770
- </thead>
1771
- <tbody valign="top">
1772
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_TOPIC</span></code></td>
1773
- <td>The topic of the message that
1774
- triggered the alert.</td>
1775
- </tr>
1776
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_DATA</span></code></td>
1777
- <td>The current data of the message.</td>
1778
- </tr>
1779
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_DATA_LENGTH</span></code></td>
1780
- <td>The length of the current data of
1781
- the message, in bytes.</td>
1782
- </tr>
1783
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_BOOKMARK</span></code></td>
1784
- <td>The bookmark of the message. Empty
1785
- if there is no bookmark for the
1786
- message.</td>
1787
- </tr>
1788
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_TIMESTAMP</span></code></td>
1789
- <td>The timestamp at which the module
1790
- began tracking the message.</td>
1791
- </tr>
1792
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AMPS_CLIENT_NAME</span></code></td>
1793
- <td>The client name of the current value
1794
- of the message.</td>
1795
- </tr>
1796
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">AMPS_SOW_KEY</span></code></td>
1797
- <td>The current SowKey for the message.</td>
1798
- </tr>
1799
- </tbody>
1800
- </table>
1801
- </div>
1802
- <div class="section" id="running-an-action-on-a-custom-event">
1803
- <span id="actions-on-event"></span><h4>Running an Action on a Custom Event<a class="headerlink" href="#running-an-action-on-a-custom-event" title="Permalink to this headline">¶</a></h4>
1804
- <p>The AMPS action system provides a way to create custom events and run an
1805
- action when the custom event is raised. The <code class="docutils literal"><span class="pre">amps-action-on-execute-event</span></code>
1806
- action runs when a specified custom event is raised by the
1807
- <code class="docutils literal"><span class="pre">amps-action-do-execute-event</span></code> action.</p>
1808
- <p>This action takes a single parameter:</p>
1809
- <table border="1" class="docutils" id="id30">
1810
- <caption><span class="caption-text"><em>Parameters for On Execute Event</em></span><a class="headerlink" href="#id30" title="Permalink to this table">¶</a></caption>
1811
- <colgroup>
1812
- <col width="50%" />
1813
- <col width="50%" />
1814
- </colgroup>
1815
- <thead valign="bottom">
1816
- <tr class="row-odd"><th class="head">Parameter</th>
1817
- <th class="head">Description</th>
1818
- </tr>
1819
- </thead>
1820
- <tbody valign="top">
1821
- <tr class="row-even"><td><div class="req first last docutils container">
1822
- Event</div>
1823
- </td>
1824
- <td><p class="first">The value to watch for. When an event with this name
1825
- is raised, the action runs.</p>
1826
- <p class="last">There is no default for this parameter.</p>
1827
- </td>
1828
- </tr>
1829
- </tbody>
1830
- </table>
1831
- <p>This module does not add any variables to the AMPS context.</p>
1832
- </div>
1833
- </div>
1834
- <div class="section" id="do-element-defining-the-action-to-take">
1835
- <span id="ug-do-actions"></span><h3>Do Element: Defining the Action to Take<a class="headerlink" href="#do-element-defining-the-action-to-take" title="Permalink to this headline">¶</a></h3>
1836
- <p>This section describes the default modules for specifying what AMPS does
1837
- when an action runs.</p>
1838
- <div class="section" id="rotate-log-files">
1839
- <span id="ug-actions-do-log"></span><h4>Rotate Log Files<a class="headerlink" href="#rotate-log-files" title="Permalink to this headline">¶</a></h4>
1840
- <p>AMPS provides the following module for rotating log files and loads
1841
- this module by default:</p>
1842
- <table border="1" class="docutils" id="id31">
1843
- <caption><span class="caption-text"><em>Managing Logs</em></span><a class="headerlink" href="#id31" title="Permalink to this table">¶</a></caption>
1844
- <colgroup>
1845
- <col width="50%" />
1846
- <col width="50%" />
1847
- </colgroup>
1848
- <thead valign="bottom">
1849
- <tr class="row-odd"><th class="head">Module Name</th>
1850
- <th class="head">Does</th>
1851
- </tr>
1852
- </thead>
1853
- <tbody valign="top">
1854
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">amps-action-do-rotate-logs</span></code></td>
1855
- <td><p class="first">Rotates logs that are older than a specified age, for log types that
1856
- support log rotation. Rotating a log involves closing the log and
1857
- opening the next log in sequence.</p>
1858
- <p class="last">AMPS will use the name specifier provided in the AMPS configuration
1859
- for the new log file. This may overwrite the current log file if the
1860
- specifier results in the same name as the current log file.</p>
1861
- </td>
1862
- </tr>
1863
- </tbody>
1864
- </table>
1865
- <p>This module does not require options.</p>
1866
- <p>This module does not add any variables to the AMPS context.</p>
1867
- </div>
1868
- <div class="section" id="manage-the-statistics-database">
1869
- <span id="ug-actions-do-stats"></span><h4>Manage the Statistics Database<a class="headerlink" href="#manage-the-statistics-database" title="Permalink to this headline">¶</a></h4>
1870
- <p>AMPS provides the following modules for managing the statistics
1871
- database. As a maintenance strategy, 60East recommends truncating
1872
- statistics on a regular basis. This frees space in the database file,
1873
- which will be reused as new statistics are generated. It is generally
1874
- not necessary to vacuum statistics unless you have changed your
1875
- retention policy so that less data is retained between truncation
1876
- operations. With regular truncation, the statistics database file will
1877
- usually stabilize at the correct size to hold the amount of data your
1878
- application generates between truncation operations.</p>
1879
- <p>AMPS loads these modules by default.</p>
1880
- <table border="1" class="docutils" id="id32">
1881
- <caption><span class="caption-text"><em>Managing Statistics</em></span><a class="headerlink" href="#id32" title="Permalink to this table">¶</a></caption>
1882
- <colgroup>
1883
- <col width="50%" />
1884
- <col width="50%" />
1885
- </colgroup>
1886
- <thead valign="bottom">
1887
- <tr class="row-odd"><th class="head">Module Name</th>
1888
- <th class="head">Usage</th>
1889
- </tr>
1890
- </thead>
1891
- <tbody valign="top">
1892
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">amps-action-do-truncate-statistics</span></code></td>
1893
- <td>Removes statistics that are older than a specified age. This
1894
- frees space in the statistics file, but does not reduce
1895
- the size of the file.</td>
1896
- </tr>
1897
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">amps-action-do-vacuum-statistics</span></code></td>
1898
- <td><p class="first"><strong>Deprecated</strong></p>
1899
- <p>This action has been deprecated in current versions of AMPS
1900
- and will no longer vacuum statistics. 60East recommends
1901
- offline maintenance of the statistics database instead.</p>
1902
- <p class="last">See the section on the AMPS Statistics Database, in the AMPS
1903
- User Guide, for details on shrinking the size of a statistics
1904
- database.</p>
1905
- </td>
1906
- </tr>
1907
- </tbody>
1908
- </table>
1909
- <p>The <code class="docutils literal"><span class="pre">amps-action-do-truncate-statistics</span></code> module requires an <code class="docutils literal"><span class="pre">Age</span></code>
1910
- parameter that specifies the age of the statistics to process.</p>
1911
- <table border="1" class="docutils" id="id33">
1912
- <caption><span class="caption-text"><em>Parameters for Managing Statistics</em></span><a class="headerlink" href="#id33" title="Permalink to this table">¶</a></caption>
1913
- <colgroup>
1914
- <col width="50%" />
1915
- <col width="50%" />
1916
- </colgroup>
1917
- <thead valign="bottom">
1918
- <tr class="row-odd"><th class="head">Parameter</th>
1919
- <th class="head">Description</th>
1920
- </tr>
1921
- </thead>
1922
- <tbody valign="top">
1923
- <tr class="row-even"><td><div class="req first last docutils container">
1924
- Age</div>
1925
- </td>
1926
- <td><p class="first">Specifies the age of the statistics to remove. The
1927
- module processes any file older than the specified
1928
- <code class="docutils literal"><span class="pre">Age</span></code>. For example, when the <code class="docutils literal"><span class="pre">Age</span></code> is <code class="docutils literal"><span class="pre">5d</span></code>,
1929
- the module removes statistics that are older than
1930
- 5 days.</p>
1931
- <p class="last">There is no default for this parameter.</p>
1932
- </td>
1933
- </tr>
1934
- </tbody>
1935
- </table>
1936
- <p>These modules do not add any variables to the AMPS context.</p>
1937
- </div>
1938
- <div class="section" id="manage-journal-files">
1939
- <span id="ug-actions-do-journal"></span><h4>Manage Journal Files<a class="headerlink" href="#manage-journal-files" title="Permalink to this headline">¶</a></h4>
1940
- <p>AMPS provides the following modules for managing journal files and loads these modules by default:</p>
1941
- <table border="1" class="docutils" id="id34">
1942
- <caption><span class="caption-text"><em>Managing Journals</em></span><a class="headerlink" href="#id34" title="Permalink to this table">¶</a></caption>
1943
- <colgroup>
1944
- <col width="50%" />
1945
- <col width="50%" />
1946
- </colgroup>
1947
- <thead valign="bottom">
1948
- <tr class="row-odd"><th class="head">Module Name</th>
1949
- <th class="head">Does</th>
1950
- </tr>
1951
- </thead>
1952
- <tbody valign="top">
1953
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">amps-action-do-archive-journal</span></code></td>
1954
- <td><p class="first">Archives journal files that are older than a specified age to
1955
- the <code class="docutils literal"><span class="pre">JournalArchiveDirectory</span></code> specified for the transaction
1956
- log.</p>
1957
- <p class="last">This action marks files to be archived and then returns.</p>
1958
- </td>
1959
- </tr>
1960
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">amps-action-do-compress-journal</span></code></td>
1961
- <td><p class="first">Compresses journal files that are older than a specified age.</p>
1962
- <p class="last">This action marks files to be compressed and then returns.</p>
1963
- </td>
1964
- </tr>
1965
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">amps-action-do-remove-journal</span></code></td>
1966
- <td><p class="first">Deletes journal files that are older than a specified age.</p>
1967
- <p>This action marks files to be deleted and then returns.</p>
1968
- <p class="last">If a journal file is currently in use, it will be removed
1969
- when it is no longer in use.</p>
1970
- </td>
1971
- </tr>
1972
- </tbody>
1973
- </table>
1974
- <p>AMPS will only remove journal files that are no longer needed by the
1975
- instance. AMPS ensures that all replays from a journal file are
1976
- complete, all queue messages in that journal file have been delivered
1977
- (and acknowledged, if required), and all messages from a journal file
1978
- have been successfully replicated before removing the file.</p>
1979
- <p>Journal files that have been compressed or archived (or both) are still
1980
- part of the transaction log. AMPS will compress and
1981
- archive journal files that have undelivered queue messages,
1982
- or that have not yet been fully replicated, and so on.</p>
1983
- <p>Each of these modules requires an <code class="docutils literal"><span class="pre">Age</span></code> parameter that specifies the age of the journal files to process.</p>
1984
- <table border="1" class="docutils" id="id35">
1985
- <caption><span class="caption-text"><em>Parameters for Managing Journals</em></span><a class="headerlink" href="#id35" title="Permalink to this table">¶</a></caption>
1986
- <colgroup>
1987
- <col width="50%" />
1988
- <col width="50%" />
1989
- </colgroup>
1990
- <thead valign="bottom">
1991
- <tr class="row-odd"><th class="head">Parameter</th>
1992
- <th class="head">Description</th>
1993
- </tr>
1994
- </thead>
1995
- <tbody valign="top">
1996
- <tr class="row-even"><td><div class="req first last docutils container">
1997
- Age</div>
1998
- </td>
1999
- <td><p class="first">Specifies the age of files to process. The module
2000
- processes any file older than the specified <code class="docutils literal"><span class="pre">Age</span></code>.
2001
- For example, when the <code class="docutils literal"><span class="pre">Age</span></code> is <code class="docutils literal"><span class="pre">5d</span></code>, only files
2002
- that have not been written to for longer than 5 days
2003
- will be processed by the module.</p>
2004
- <p>AMPS does not remove the current journal file or
2005
- files that are being used for replay, files that are
2006
- being used for replication or files that contain
2007
- unacknowledged and unexpired messages in a queue;
2008
- even if the file is older than the <code class="docutils literal"><span class="pre">Age</span></code> parameter.</p>
2009
- <p>AMPS does not allow gaps in the journal
2010
- files, so it will only remove a given file if all
2011
- previous files have been removed.</p>
2012
- <p>AMPS can compress and archive journal files that are
2013
- still in use since compressed or archived journal
2014
- files are part of the transaction log and AMPS
2015
- will replay messages from these files.</p>
2016
- <p class="last">There is no default for this parameter.</p>
2017
- </td>
2018
- </tr>
2019
- </tbody>
2020
- </table>
2021
- <p>These modules do not add any variables to the AMPS context.</p>
2022
- </div>
2023
- <div class="section" id="compressing-files">
2024
- <h4>Compressing Files<a class="headerlink" href="#compressing-files" title="Permalink to this headline">¶</a></h4>
2025
- <p id="ug-actions-compress-files">AMPS provides the following module for compressing files. Use this action
2026
- to compress error log files that are no longer needed. AMPS loads this module
2027
- by default.</p>
2028
- <div class="admonition caution">
2029
- <p class="first admonition-title">Caution</p>
2030
- <p class="last">This action compresses files that match an arbitrary pattern. If
2031
- the pattern is not specified carefully, this action can compress
2032
- files that contain important data, are required for AMPS, or are
2033
- required by the operating system.</p>
2034
- </div>
2035
- <div class="admonition caution">
2036
- <p class="first admonition-title">Caution</p>
2037
- <p class="last">This action cannot be used to safely compress journal files (also known as
2038
- transaction log files). Use the actions described in <a class="reference internal" href="#ug-actions-do-journal"><span class="std std-ref">Manage Journal Files</span></a>
2039
- for these files.</p>
2040
- </div>
2041
- <table border="1" class="docutils" id="id36">
2042
- <caption><span class="caption-text"><em>Compressing Files</em></span><a class="headerlink" href="#id36" title="Permalink to this table">¶</a></caption>
2043
- <colgroup>
2044
- <col width="50%" />
2045
- <col width="50%" />
2046
- </colgroup>
2047
- <thead valign="bottom">
2048
- <tr class="row-odd"><th class="head">Module Name</th>
2049
- <th class="head">Does</th>
2050
- </tr>
2051
- </thead>
2052
- <tbody valign="top">
2053
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">amps-action-do-compress-files</span></code></td>
2054
- <td><p class="first">Compresses files that match the specified pattern that are
2055
- older than the specified age. This action accepts an arbitrary
2056
- pattern, and removes files that match that pattern. While AMPS
2057
- attempts to protect against deleting journal files, using a
2058
- pattern that removes files that are critical for AMPS, for the
2059
- application, or for the operating system may result in loss of
2060
- data.</p>
2061
- <p>The module does not recurse into directories. It skips open
2062
- files. The module does not compress AMPS journals (that is,
2063
- files that end with a <code class="docutils literal"><span class="pre">.journal</span></code> extension), and reports
2064
- an error if a file with that extension matches the specified
2065
- <code class="docutils literal"><span class="pre">Pattern</span></code>.</p>
2066
- <p class="last">The commands to remove files are executed with the current
2067
- permissions of the AMPS process.</p>
2068
- </td>
2069
- </tr>
2070
- </tbody>
2071
- </table>
2072
- <p>This module requires an <code class="docutils literal"><span class="pre">Age</span></code> parameter that specifies the age of the
2073
- files to remove, as determined by the update to the file. This module
2074
- also requires a <code class="docutils literal"><span class="pre">Pattern</span></code> parameter that specifies a pattern for
2075
- locating files to remove.</p>
2076
- <table border="1" class="docutils" id="id37">
2077
- <caption><span class="caption-text"><em>Parameters for Compressing Files</em></span><a class="headerlink" href="#id37" title="Permalink to this table">¶</a></caption>
2078
- <colgroup>
2079
- <col width="50%" />
2080
- <col width="50%" />
2081
- </colgroup>
2082
- <thead valign="bottom">
2083
- <tr class="row-odd"><th class="head">Parameter</th>
2084
- <th class="head">Description</th>
2085
- </tr>
2086
- </thead>
2087
- <tbody valign="top">
2088
- <tr class="row-even"><td><div class="req first last docutils container">
2089
- Age</div>
2090
- </td>
2091
- <td><p class="first">Specifies the age of files to process. The module
2092
- removes any file older than the specified <code class="docutils literal"><span class="pre">Age</span></code>
2093
- that matches the specified <code class="docutils literal"><span class="pre">Pattern</span></code>. For example,
2094
- when the <code class="docutils literal"><span class="pre">Age</span></code> is <code class="docutils literal"><span class="pre">5d</span></code>, only files that have not
2095
- been modified within 5 days and that match the
2096
- pattern will be processed by the module.</p>
2097
- <p class="last">There is no default for this parameter.</p>
2098
- </td>
2099
- </tr>
2100
- <tr class="row-odd"><td><div class="req first last docutils container">
2101
- Pattern</div>
2102
- </td>
2103
- <td><p class="first">Specifies the pattern for files to remove. The
2104
- module removes any files that match the specified
2105
- <code class="docutils literal"><span class="pre">Pattern</span></code> that have not been modified more
2106
- recently than the specified <code class="docutils literal"><span class="pre">Age</span></code>.</p>
2107
- <p>This parameter is interpreted as a Unix shell
2108
- globbing pattern. It is <em>not</em> interpreted as a
2109
- regular expression.</p>
2110
- <p>As with other parameters that use the file system,
2111
- when the pattern specified is a relative path, the
2112
- parameter is interpreted relative to the current
2113
- working directory of the AMPS process. When the
2114
- pattern specified is an absolute path, AMPS uses the
2115
- absolute path.</p>
2116
- <p class="last">There is no default for this parameter.</p>
2117
- </td>
2118
- </tr>
2119
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">Keep</span></code></td>
2120
- <td><p class="first">Specifies the number of files that meet the <code class="docutils literal"><span class="pre">Age</span></code>
2121
- and <code class="docutils literal"><span class="pre">Pattern</span></code> criteria to leave uncompressed. When
2122
- this parameter is specified, AMPS will compress files
2123
- matching the criteria, starting with the oldest
2124
- files, and stop when the number of remaining files
2125
- is the number specified in this parameter.</p>
2126
- <p class="last">There is no default for this parameter. When both
2127
- <code class="docutils literal"><span class="pre">Keep</span></code> and <code class="docutils literal"><span class="pre">Count</span></code> are specified, AMPS will not
2128
- compress any files if the number of files meeting
2129
- the criteria is less than the number specified in
2130
- the <code class="docutils literal"><span class="pre">Keep</span></code> parameter.</p>
2131
- </td>
2132
- </tr>
2133
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">Count</span></code></td>
2134
- <td><p class="first">Specifies the maximum number of files that meet the
2135
- <code class="docutils literal"><span class="pre">Age</span></code> and <code class="docutils literal"><span class="pre">Pattern</span></code> criteria to compress. AMPS
2136
- will compress files matching the criteria, starting
2137
- with the oldest files, and stop when the number of
2138
- files specified in this parameter have been
2139
- compressed.</p>
2140
- <p class="last">There is no default for this parameter. When both
2141
- <code class="docutils literal"><span class="pre">Keep</span></code> and <code class="docutils literal"><span class="pre">Count</span></code> are specified, AMPS will not
2142
- compress any files if the number of files meeting
2143
- the criteria is less than the number specified in
2144
- the <code class="docutils literal"><span class="pre">Keep</span></code> parameter.</p>
2145
- </td>
2146
- </tr>
2147
- </tbody>
2148
- </table>
2149
- <p>This module does not add any variables to the AMPS context.</p>
2150
- </div>
2151
- <div class="section" id="removing-files">
2152
- <span id="ug-actions-remove-files"></span><h4>Removing Files<a class="headerlink" href="#removing-files" title="Permalink to this headline">¶</a></h4>
2153
- <p>AMPS provides the following module for removing files. Use this action
2154
- to remove error log files that are no longer needed. AMPS loads this
2155
- module by default.</p>
2156
- <div class="admonition caution">
2157
- <p class="first admonition-title">Caution</p>
2158
- <p class="last">This action cannot be used to safely remove journal files (also known as
2159
- transaction log fies). Use the actions described in <a class="reference internal" href="#ug-actions-do-journal"><span class="std std-ref">Manage Journal Files</span></a>
2160
- for these files.</p>
2161
- </div>
2162
- <table border="1" class="docutils" id="id38">
2163
- <caption><span class="caption-text"><em>Removing Files</em></span><a class="headerlink" href="#id38" title="Permalink to this table">¶</a></caption>
2164
- <colgroup>
2165
- <col width="50%" />
2166
- <col width="50%" />
2167
- </colgroup>
2168
- <thead valign="bottom">
2169
- <tr class="row-odd"><th class="head">Module Name</th>
2170
- <th class="head">Does</th>
2171
- </tr>
2172
- </thead>
2173
- <tbody valign="top">
2174
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">amps-action-do-remove-files</span></code></td>
2175
- <td><p class="first">Removes files that match the specified pattern that are older
2176
- than the specified age. This action accepts an arbitrary
2177
- pattern, and removes files that match that pattern. While AMPS
2178
- attempts to protect against deleting journal files, using a
2179
- pattern that removes files that are critical for AMPS, for the
2180
- application, or for the operating system may result in loss of
2181
- data.</p>
2182
- <p>The module does not recurse into directories. It skips open
2183
- files. The module does not remove AMPS journals (that is, files
2184
- that end with a <code class="docutils literal"><span class="pre">.journal</span></code> extension), and reports an error
2185
- if a file with that extension matches the specified <code class="docutils literal"><span class="pre">Pattern</span></code>.</p>
2186
- <p class="last">The commands to remove files are executed with the current
2187
- permissions of the AMPS process.</p>
2188
- </td>
2189
- </tr>
2190
- </tbody>
2191
- </table>
2192
- <p>This module requires an <code class="docutils literal"><span class="pre">Age</span></code> parameter that specifies the age of the
2193
- files to remove, as determined by the update to the file. This module
2194
- also requires a <code class="docutils literal"><span class="pre">Pattern</span></code> parameter that specifies a pattern for
2195
- locating files to remove.</p>
2196
- <table border="1" class="docutils" id="id39">
2197
- <caption><span class="caption-text"><em>Parameters for Removing Files</em></span><a class="headerlink" href="#id39" title="Permalink to this table">¶</a></caption>
2198
- <colgroup>
2199
- <col width="50%" />
2200
- <col width="50%" />
2201
- </colgroup>
2202
- <thead valign="bottom">
2203
- <tr class="row-odd"><th class="head">Parameter</th>
2204
- <th class="head">Description</th>
2205
- </tr>
2206
- </thead>
2207
- <tbody valign="top">
2208
- <tr class="row-even"><td><div class="req first last docutils container">
2209
- Age</div>
2210
- </td>
2211
- <td><p class="first">Specifies the age of files to process. The module
2212
- removes any file older than the specified <code class="docutils literal"><span class="pre">Age</span></code>
2213
- that matches the specified <code class="docutils literal"><span class="pre">Pattern</span></code>. For example,
2214
- when the <code class="docutils literal"><span class="pre">Age</span></code> is <code class="docutils literal"><span class="pre">5d</span></code>, only files that have not
2215
- been modified within 5 days and that match the
2216
- pattern will be processed by the module.</p>
2217
- <p class="last">There is no default for this parameter.</p>
2218
- </td>
2219
- </tr>
2220
- <tr class="row-odd"><td><div class="req first last docutils container">
2221
- Pattern</div>
2222
- </td>
2223
- <td><p class="first">Specifies the pattern for files to remove. The
2224
- module removes any files that match the specified
2225
- <code class="docutils literal"><span class="pre">Pattern</span></code> that have not been modified more
2226
- recently than the specified <code class="docutils literal"><span class="pre">Age</span></code>.</p>
2227
- <p>This parameter is interpreted as a Unix shell
2228
- globbing pattern. It is <em>not</em> interpreted as a
2229
- regular expression.</p>
2230
- <p>As with other parameters that use the file system,
2231
- when the pattern specified is a relative path, the
2232
- parameter is interpreted relative to the current
2233
- working directory of the AMPS process. When the
2234
- pattern specified is an absolute path, AMPS uses the
2235
- absolute path.</p>
2236
- <p class="last">There is no default for this parameter.</p>
2237
- </td>
2238
- </tr>
2239
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">Keep</span></code></td>
2240
- <td><p class="first">Specifies the number of files that meet the <code class="docutils literal"><span class="pre">Age</span></code>
2241
- and <code class="docutils literal"><span class="pre">Pattern</span></code> criteria to retain. When this
2242
- parameter is specified, AMPS will remove files
2243
- matching the criteria, starting with the oldest
2244
- files, and stop when the number of remaining files
2245
- is the number specified in this parameter.</p>
2246
- <p class="last">There is no default for this parameter. When both
2247
- <code class="docutils literal"><span class="pre">Keep</span></code> and <code class="docutils literal"><span class="pre">Count</span></code> are specified, AMPS will not
2248
- remove any files if the number of files meeting the
2249
- criteria is less than the number specified in the
2250
- <code class="docutils literal"><span class="pre">Keep</span></code> parameter.</p>
2251
- </td>
2252
- </tr>
2253
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">Count</span></code></td>
2254
- <td><p class="first">Specifies the maximum number of files that meet the
2255
- <code class="docutils literal"><span class="pre">Age</span></code> and <code class="docutils literal"><span class="pre">Pattern</span></code> criteria to remove. AMPS
2256
- will remove files matching the criteria, starting
2257
- with the oldest files, and stop when the number of
2258
- files specified in this parameter have been removed.</p>
2259
- <p class="last">There is no default for this parameter. When both
2260
- <code class="docutils literal"><span class="pre">Keep</span></code> and <code class="docutils literal"><span class="pre">Count</span></code> are specified, AMPS will not
2261
- remove any files if the number of files meeting the
2262
- criteria is less than the number specified in the
2263
- <code class="docutils literal"><span class="pre">Keep</span></code> parameter.</p>
2264
- </td>
2265
- </tr>
2266
- </tbody>
2267
- </table>
2268
- <p>This module does not add any variables to the AMPS context.</p>
2269
- </div>
2270
- <div class="section" id="deleting-messages-from-sow">
2271
- <span id="ug-actions-do-delete-sow"></span><h4>Deleting Messages from SOW<a class="headerlink" href="#deleting-messages-from-sow" title="Permalink to this headline">¶</a></h4>
2272
- <p>AMPS also provides modules for deleting SOW contents. The
2273
- <code class="docutils literal"><span class="pre">amps-action-do-delete-sow</span></code> module deletes messages from the specified
2274
- SOW topic.</p>
2275
- <p>This module requires the <code class="docutils literal"><span class="pre">Topic</span></code>, <code class="docutils literal"><span class="pre">MessageType</span></code> and <code class="docutils literal"><span class="pre">Filter</span></code>
2276
- parameters in order to delete the desired message.</p>
2277
- <table border="1" class="docutils" id="id40">
2278
- <caption><span class="caption-text"><em>Parameters for Deleting SOW Messages</em></span><a class="headerlink" href="#id40" title="Permalink to this table">¶</a></caption>
2279
- <colgroup>
2280
- <col width="50%" />
2281
- <col width="50%" />
2282
- </colgroup>
2283
- <thead valign="bottom">
2284
- <tr class="row-odd"><th class="head">Parameter</th>
2285
- <th class="head">Description</th>
2286
- </tr>
2287
- </thead>
2288
- <tbody valign="top">
2289
- <tr class="row-even"><td><div class="req first last docutils container">
2290
- Topic</div>
2291
- </td>
2292
- <td><p class="first">The name of the SOW topic from which to delete
2293
- messages.</p>
2294
- <p>This parameter supports regular expressions.</p>
2295
- <p class="last">There is no default for this parameter.</p>
2296
- </td>
2297
- </tr>
2298
- <tr class="row-odd"><td><div class="req first last docutils container">
2299
- MessageType</div>
2300
- </td>
2301
- <td><p class="first">The message type of the SOW topic or topics to
2302
- delete from.</p>
2303
- <p class="last">There is no default for this parameter.</p>
2304
- </td>
2305
- </tr>
2306
- <tr class="row-even"><td><div class="req first last docutils container">
2307
- Filter</div>
2308
- </td>
2309
- <td><p class="first">Set the filter to apply.</p>
2310
- <p class="last">Only messages matching that filter will be deleted.</p>
2311
- </td>
2312
- </tr>
2313
- </tbody>
2314
- </table>
2315
- <p>This module does not add any variables to the AMPS context.</p>
2316
- </div>
2317
- <div class="section" id="compacting-a-sow-file">
2318
- <span id="ug-actions-do-compact-sow"></span><h4>Compacting a SOW File<a class="headerlink" href="#compacting-a-sow-file" title="Permalink to this headline">¶</a></h4>
2319
- <p>AMPS also provides a module for reducing the unused space in a
2320
- SOW file. The <code class="docutils literal"><span class="pre">amps-action-do-compact-sow</span></code> module rearranges the
2321
- messages in the SOW into a smaller amount of space, where possible.
2322
- Since AMPS uses memory-mapped files to store messages for the
2323
- SOW topic, this can also potentially reduce the memory footprint
2324
- of the topic.</p>
2325
- <p>This module can compact a specific SOW file or the SOW files for every
2326
- topic in the instance.</p>
2327
- <p>While messages are being added or updated within a topic in the SOW,
2328
- AMPS reuses free space when possible. It is not necessary to compact the
2329
- SOW file during most normal operations. This action is most useful after
2330
- an activity peak that leaves a large amount of unneeded space in the
2331
- file, or in installations where space is at a premium. Depending on the
2332
- file size, the number of topics to be compacted, and the amount of free
2333
- space, the reorganization that this operation performs may require a
2334
- noticeable amount of I/O bandwidth.</p>
2335
- <p>60East recommends that this action run during a maintenance window
2336
- or in response to a critical lack of disk space. This operation
2337
- will pause updates to the topic while it is being compacted, reducing
2338
- overall throughput even if the compaction process runs quickly.</p>
2339
- <p>When a <code class="docutils literal"><span class="pre">Topic</span></code> and <code class="docutils literal"><span class="pre">MessageType</span></code> are provided,
2340
- this module compacts the SOW file for that topic. Otherwise,
2341
- the module compacts the file for all topics in the SOW.</p>
2342
- <table border="1" class="docutils" id="id41">
2343
- <caption><span class="caption-text"><em>Parameters for Deleting SOW Messages</em></span><a class="headerlink" href="#id41" title="Permalink to this table">¶</a></caption>
2344
- <colgroup>
2345
- <col width="50%" />
2346
- <col width="50%" />
2347
- </colgroup>
2348
- <thead valign="bottom">
2349
- <tr class="row-odd"><th class="head">Parameter</th>
2350
- <th class="head">Description</th>
2351
- </tr>
2352
- </thead>
2353
- <tbody valign="top">
2354
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">Topic</span></code></td>
2355
- <td><p class="first">The name of the SOW topic from which to compact.
2356
- This option must be specified if the
2357
- <code class="docutils literal"><span class="pre">MessageType</span></code> is provided.</p>
2358
- <p class="last">There is no default for this parameter.</p>
2359
- </td>
2360
- </tr>
2361
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">MessageType</span></code></td>
2362
- <td><p class="first">The message type of the SOW topic or topics to
2363
- compact. This option must be specified if the
2364
- <code class="docutils literal"><span class="pre">Topic</span></code> is provided.</p>
2365
- <p class="last">There is no default for this parameter.</p>
2366
- </td>
2367
- </tr>
2368
- </tbody>
2369
- </table>
2370
- <p>This module does not add any variables to the AMPS context.</p>
2371
- </div>
2372
- <div class="section" id="querying-a-sow-topic">
2373
- <span id="ug-actions-do-query-sow"></span><h4>Querying a SOW Topic<a class="headerlink" href="#querying-a-sow-topic" title="Permalink to this headline">¶</a></h4>
2374
- <p>AMPS provides a module for querying a SOW topic. The
2375
- <code class="docutils literal"><span class="pre">amps-action-do-query-sow</span></code> queries the SOW topic, and stores the first
2376
- message returned by the SOW query into a user-defined variable.</p>
2377
- <p>This module requires the <code class="docutils literal"><span class="pre">Topic</span></code>, <code class="docutils literal"><span class="pre">MessageType</span></code> and <code class="docutils literal"><span class="pre">Filter</span></code>
2378
- parameters to identify the query to run. This module requires the
2379
- <code class="docutils literal"><span class="pre">CaptureData</span></code> parameter in order to be able to store the result of the
2380
- query.</p>
2381
- <table border="1" class="docutils" id="id42">
2382
- <caption><span class="caption-text"><em>Parameters for Querying SOW Messages</em></span><a class="headerlink" href="#id42" title="Permalink to this table">¶</a></caption>
2383
- <colgroup>
2384
- <col width="50%" />
2385
- <col width="50%" />
2386
- </colgroup>
2387
- <thead valign="bottom">
2388
- <tr class="row-odd"><th class="head">Parameter</th>
2389
- <th class="head">Description</th>
2390
- </tr>
2391
- </thead>
2392
- <tbody valign="top">
2393
- <tr class="row-even"><td><div class="req first last docutils container">
2394
- Topic</div>
2395
- </td>
2396
- <td>The name of the topic to query. This topic must be a
2397
- SOW topic, a view, a queue, or a conflated topic.
2398
- There is no default for this parameter. This
2399
- parameter supports regular expressions.</td>
2400
- </tr>
2401
- <tr class="row-odd"><td><div class="req first last docutils container">
2402
- MessageType</div>
2403
- </td>
2404
- <td>The message type of the topic to query. There is no
2405
- default for this parameter</td>
2406
- </tr>
2407
- <tr class="row-even"><td><div class="req first last docutils container">
2408
- Filter</div>
2409
- </td>
2410
- <td>Set the filter to apply. If a <code class="docutils literal"><span class="pre">Filter</span></code> is present,
2411
- only messages matching that filter will be returned
2412
- by the query.</td>
2413
- </tr>
2414
- <tr class="row-odd"><td><div class="req first last docutils container">
2415
- CaptureData</div>
2416
- </td>
2417
- <td>Sets the name of the variable within which AMPS will
2418
- store the first message returned.</td>
2419
- </tr>
2420
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">DefaultData</span></code></td>
2421
- <td>If no records are found, AMPS stores the
2422
- <code class="docutils literal"><span class="pre">DefaultData</span></code> in the variable specified by
2423
- <code class="docutils literal"><span class="pre">CaptureData</span></code>.</td>
2424
- </tr>
2425
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">OrderBy</span></code></td>
2426
- <td>An <code class="docutils literal"><span class="pre">OrderBy</span></code> expression to use to order the
2427
- results returned by the query. For example, to order
2428
- in descending order of the <code class="docutils literal"><span class="pre">/date</span></code> field in the
2429
- messages, you would provide an <code class="docutils literal"><span class="pre">OrderBy</span></code> option of
2430
- <code class="docutils literal"><span class="pre">/date</span> <span class="pre">DESC</span></code>.</td>
2431
- </tr>
2432
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">Options</span></code></td>
2433
- <td>The options for the query. This action accepts
2434
- any valid option for a <code class="docutils literal"><span class="pre">sow</span></code> command <em>except</em>
2435
- the <code class="docutils literal"><span class="pre">top_n</span></code> option (since this action is already
2436
- limited to a <code class="docutils literal"><span class="pre">top_n</span></code> value of <code class="docutils literal"><span class="pre">1</span></code>).</td>
2437
- </tr>
2438
- </tbody>
2439
- </table>
2440
- <p>Once you query messages from the SOW topic, you can use the captured
2441
- data in other actions. The example below uses
2442
- <code class="docutils literal"><span class="pre">amps-action-do-query-sow</span></code> to query the SOW on a schedule in order to
2443
- echo messages to the log for diagnostic purposes:</p>
2444
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;Actions&gt;</span>
2445
- <span class="nt">&lt;Action&gt;</span>
2446
- <span class="nt">&lt;On&gt;</span>
2447
- <span class="nt">&lt;Module&gt;</span>amps-action-on-schedule<span class="nt">&lt;/Module&gt;</span>
2448
- <span class="nt">&lt;Options&gt;</span>
2449
- <span class="nt">&lt;Every&gt;</span>Saturday at 23:59<span class="nt">&lt;/Every&gt;</span>
2450
- <span class="nt">&lt;Name&gt;</span>Diagnostic_Schedule<span class="nt">&lt;/Name&gt;</span>
2451
- <span class="nt">&lt;/Options&gt;</span>
2452
- <span class="nt">&lt;/On&gt;</span>
2453
- <span class="nt">&lt;Do&gt;</span>
2454
- <span class="nt">&lt;Module&gt;</span>amps-action-do-query-sow<span class="nt">&lt;/Module&gt;</span>
2455
- <span class="nt">&lt;Options&gt;</span>
2456
- <span class="nt">&lt;MessageType&gt;</span>xml<span class="nt">&lt;/MessageType&gt;</span>
2457
- <span class="nt">&lt;Topic&gt;</span>SOW_TOPIC<span class="nt">&lt;/Topic&gt;</span>
2458
- <span class="nt">&lt;Filter&gt;</span>/Trans/Order/@Oname = &#39;PURCHASE&#39;<span class="nt">&lt;/Filter&gt;</span>
2459
- <span class="nt">&lt;CaptureData&gt;</span>AMPS_DATA<span class="nt">&lt;/CaptureData&gt;</span>
2460
- <span class="nt">&lt;/Options&gt;</span>
2461
- <span class="nt">&lt;/Do&gt;</span>
2462
- <span class="nt">&lt;Do&gt;</span>
2463
- <span class="nt">&lt;Module&gt;</span>amps-action-do-extract-values<span class="nt">&lt;/Module&gt;</span>
2464
- <span class="nt">&lt;Options&gt;</span>
2465
- <span class="nt">&lt;MessageType&gt;</span>xml<span class="nt">&lt;/MessageType&gt;</span>
2466
- <span class="nt">&lt;Data&gt;</span>{{AMPS_DATA}}<span class="nt">&lt;/Data&gt;</span>
2467
- <span class="nt">&lt;Value&gt;</span>SAVED_VARIABLE=/Value<span class="nt">&lt;/Value&gt;</span>
2468
- <span class="nt">&lt;/Options&gt;</span>
2469
- <span class="nt">&lt;/Do&gt;</span>
2470
- <span class="nt">&lt;Do&gt;</span>
2471
- <span class="nt">&lt;Module&gt;</span>amps-action-do-echo-message<span class="nt">&lt;/Module&gt;</span>
2472
- <span class="nt">&lt;Options&gt;</span>
2473
- <span class="nt">&lt;Message&gt;</span>{{SAVED_VARIABLE}} was in the message<span class="nt">&lt;/Message&gt;</span>
2474
- <span class="nt">&lt;/Options&gt;</span>
2475
- <span class="nt">&lt;/Do&gt;</span>
2476
- <span class="nt">&lt;/Action&gt;</span>
2477
- <span class="nt">&lt;/Actions&gt;</span>
2478
- </pre></div>
2479
- </div>
2480
- </div>
2481
- <div class="section" id="manage-security">
2482
- <span id="ug-actions-do-security"></span><h4>Manage Security<a class="headerlink" href="#manage-security" title="Permalink to this headline">¶</a></h4>
2483
- <p>AMPS provides modules for managing the security features of an instance.</p>
2484
- <p>Authentication and entitlement can be enabled or disabled, which is
2485
- useful for debugging or auditing purposes. You can also reset security
2486
- and authentication, which clears the AMPS internal caches and gives
2487
- security and authentication modules the opportunity to reinitialize
2488
- themselves, for example, by re-parsing an entitlements file.</p>
2489
- <p>AMPS loads the following modules by default:</p>
2490
- <table border="1" class="docutils" id="id43">
2491
- <caption><span class="caption-text"><em>Security Modules</em></span><a class="headerlink" href="#id43" title="Permalink to this table">¶</a></caption>
2492
- <colgroup>
2493
- <col width="50%" />
2494
- <col width="50%" />
2495
- </colgroup>
2496
- <thead valign="bottom">
2497
- <tr class="row-odd"><th class="head">Module Name</th>
2498
- <th class="head">Does</th>
2499
- </tr>
2500
- </thead>
2501
- <tbody valign="top">
2502
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">amps-action-do-disable-authentication</span></code></td>
2503
- <td>Disables authentication for the instance.</td>
2504
- </tr>
2505
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">amps-action-do-disable-entitlement</span></code></td>
2506
- <td>Disables entitlement for the instance.</td>
2507
- </tr>
2508
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">amps-action-do-enable-authentication</span></code></td>
2509
- <td>Enables authentication for the instance.</td>
2510
- </tr>
2511
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">amps-action-do-enable-entitlement</span></code></td>
2512
- <td>Enables entitlement for the instance.</td>
2513
- </tr>
2514
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">amps-action-do-reset-authentication</span></code></td>
2515
- <td>Resets authentication by clearing AMPS caches and
2516
- reinitializing authentication.</td>
2517
- </tr>
2518
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">amps-action-do-reset-entitlement</span></code></td>
2519
- <td>Resets entitlement by clearing AMPS caches and
2520
- reinitializing entitlement.</td>
2521
- </tr>
2522
- </tbody>
2523
- </table>
2524
- <p>These modules require no parameters. The
2525
- <code class="docutils literal"><span class="pre">amps-action-do-reset-authentication</span></code> module and the
2526
- <code class="docutils literal"><span class="pre">amps-action-do-reset-entitlement</span></code> module accept an optional
2527
- <code class="docutils literal"><span class="pre">Transport</span></code> parameter which specifies the transport to reset.</p>
2528
- <table border="1" class="docutils" id="id44">
2529
- <caption><span class="caption-text"><em>Parameters for Reset Authentication or Entitlement</em></span><a class="headerlink" href="#id44" title="Permalink to this table">¶</a></caption>
2530
- <colgroup>
2531
- <col width="50%" />
2532
- <col width="50%" />
2533
- </colgroup>
2534
- <thead valign="bottom">
2535
- <tr class="row-odd"><th class="head">Parameter</th>
2536
- <th class="head">Description</th>
2537
- </tr>
2538
- </thead>
2539
- <tbody valign="top">
2540
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">Transport</span></code></td>
2541
- <td><p class="first">The name of the transport for which to reset
2542
- authentication or entitlements.</p>
2543
- <p class="last">If no name is provided, these modules affect all
2544
- transports.</p>
2545
- </td>
2546
- </tr>
2547
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">AuthenticationId</span></code></td>
2548
- <td><p class="first">The authentication ID of the client for which to
2549
- reset entitlements.</p>
2550
- <p class="last">If no ID is provided, these modules affect all
2551
- clients.</p>
2552
- </td>
2553
- </tr>
2554
- </tbody>
2555
- </table>
2556
- <p>These modules do not add any variables to the AMPS context.</p>
2557
- </div>
2558
- <div class="section" id="enable-and-disable-a-transport">
2559
- <span id="ug-actions-do-transports"></span><h4>Enable and Disable a Transport<a class="headerlink" href="#enable-and-disable-a-transport" title="Permalink to this headline">¶</a></h4>
2560
- <p>AMPS provides modules that can enable and disable specific transports.
2561
- The <code class="docutils literal"><span class="pre">amps-action-do-enable-transport</span></code> module enables a transport. The
2562
- <code class="docutils literal"><span class="pre">amps-action-do-disable-transport</span></code> module disables a transport.</p>
2563
- <table border="1" class="docutils" id="id45">
2564
- <caption><span class="caption-text"><em>Transport Action Modules</em></span><a class="headerlink" href="#id45" title="Permalink to this table">¶</a></caption>
2565
- <colgroup>
2566
- <col width="50%" />
2567
- <col width="50%" />
2568
- </colgroup>
2569
- <thead valign="bottom">
2570
- <tr class="row-odd"><th class="head">Module Name</th>
2571
- <th class="head">Does</th>
2572
- </tr>
2573
- </thead>
2574
- <tbody valign="top">
2575
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">amps-action-do-enable-transport</span></code></td>
2576
- <td>Enables a specific transport.</td>
2577
- </tr>
2578
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">amps-action-do-disable-transport</span></code></td>
2579
- <td>Disables a specific transport.</td>
2580
- </tr>
2581
- </tbody>
2582
- </table>
2583
- <p>Both modules require the name of the transport to disable or enable.</p>
2584
- <table border="1" class="docutils" id="id46">
2585
- <caption><span class="caption-text"><em>Parameters for Managing Transports</em></span><a class="headerlink" href="#id46" title="Permalink to this table">¶</a></caption>
2586
- <colgroup>
2587
- <col width="50%" />
2588
- <col width="50%" />
2589
- </colgroup>
2590
- <thead valign="bottom">
2591
- <tr class="row-odd"><th class="head">Parameter</th>
2592
- <th class="head">Description</th>
2593
- </tr>
2594
- </thead>
2595
- <tbody valign="top">
2596
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">Transport</span></code></td>
2597
- <td><p class="first">The name of the transport to enable or disable.</p>
2598
- <p class="last">If no name is provided, the module affects all
2599
- transports.</p>
2600
- </td>
2601
- </tr>
2602
- </tbody>
2603
- </table>
2604
- <p>Both modules do not add any variables to the AMPS context.</p>
2605
- </div>
2606
- <div class="section" id="publishing-messages">
2607
- <span id="ug-actions-do-publish-message"></span><h4>Publishing Messages<a class="headerlink" href="#publishing-messages" title="Permalink to this headline">¶</a></h4>
2608
- <p>The <code class="docutils literal"><span class="pre">amps-action-do-publish-message</span></code> module publishes a message into a
2609
- specified topic.</p>
2610
- <p>Publishes from this action are treated as publishes from an AMPS client
2611
- inside the AMPS engine. This means that:</p>
2612
- <ul class="simple">
2613
- <li>There are no user credentials associated with the publish, so
2614
- entitlements are not applied.</li>
2615
- <li>There is no special handling for the publish. The publish is recorded
2616
- in the transaction log exactly as if it arrived from outside of the
2617
- instance and is processed within the instance as if the publish had
2618
- arrived from an external publisher.</li>
2619
- </ul>
2620
- <div class="admonition warning">
2621
- <p class="first admonition-title">Warning</p>
2622
- <p>This action is treated by the AMPS engine as a publish from an
2623
- internal AMPS client. When an <code class="docutils literal"><span class="pre">amps-action-do-publish-message</span></code>
2624
- runs in response to the <code class="docutils literal"><span class="pre">amps-action-on-publish-message</span></code> event
2625
- or the <code class="docutils literal"><span class="pre">amps-action-on-deliver-message</span></code> event, use caution,
2626
- the message published from this action could cause the
2627
- event to trigger again.</p>
2628
- <p>This warning includes cases where the action publishes to a
2629
- topic directly monitored by the action and cases where the action
2630
- monitors a view and publishes to an underlying topic of the
2631
- view. The warning also applies to configurations in which two or
2632
- more actions &#8220;cross publish&#8221; to topics that are monitored by the
2633
- other action. An example of the last case is an action that
2634
- monitors <code class="docutils literal"><span class="pre">TopicOne</span></code> and publishes to <code class="docutils literal"><span class="pre">TopicTwo</span></code>, while
2635
- another action monitors <code class="docutils literal"><span class="pre">TopicTwo</span></code> and publishes to
2636
- <code class="docutils literal"><span class="pre">TopicOne</span></code>.</p>
2637
- <p class="last">The result of a configuration like the ones described above is
2638
- called a <em>publish loop</em>. AMPS does not support unterminated
2639
- publish loops or loops that produce a large number of cycles
2640
- before terminating.</p>
2641
- </div>
2642
- <p>To publish a message, this module requires a <code class="docutils literal"><span class="pre">Topic</span></code>, the <code class="docutils literal"><span class="pre">MessageType</span></code>
2643
- to publish on and also the <code class="docutils literal"><span class="pre">Data</span></code> that the message will contain. In addition
2644
- to that, this module also accepts optional parameters listed below:</p>
2645
- <table border="1" class="docutils" id="id47">
2646
- <caption><span class="caption-text"><em>Parameters for Publishing Messages</em></span><a class="headerlink" href="#id47" title="Permalink to this table">¶</a></caption>
2647
- <colgroup>
2648
- <col width="50%" />
2649
- <col width="50%" />
2650
- </colgroup>
2651
- <thead valign="bottom">
2652
- <tr class="row-odd"><th class="head">Parameter</th>
2653
- <th class="head">Description</th>
2654
- </tr>
2655
- </thead>
2656
- <tbody valign="top">
2657
- <tr class="row-even"><td><div class="req first last docutils container">
2658
- Topic</div>
2659
- </td>
2660
- <td>The topic of the message being published.</td>
2661
- </tr>
2662
- <tr class="row-odd"><td><div class="req first last docutils container">
2663
- MessageType</div>
2664
- </td>
2665
- <td>The message type for the topic. There is no default
2666
- for this parameter.</td>
2667
- </tr>
2668
- <tr class="row-even"><td><div class="req first last docutils container">
2669
- Data</div>
2670
- </td>
2671
- <td>The data that the message will contain.</td>
2672
- </tr>
2673
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">Delta</span></code></td>
2674
- <td>Whether to use a delta publish. When this option is
2675
- present, and the value is <code class="docutils literal"><span class="pre">true</span></code>, the action will
2676
- use a delta publish.</td>
2677
- </tr>
2678
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">UpdateOnly</span></code></td>
2679
- <td><p class="first">Specifies whether a delta publish is allowed to insert
2680
- a record, or only update a record. When a delta publish
2681
- is specified (that is, <code class="docutils literal"><span class="pre">Delta</span></code> is <code class="docutils literal"><span class="pre">true</span></code> ),
2682
- and this option is set to <code class="docutils literal"><span class="pre">true</span></code>, AMPS will only
2683
- accept the publish if there is a record present
2684
- to be updated.</p>
2685
- <p class="last">When no value is specified, this option is <code class="docutils literal"><span class="pre">false</span></code></p>
2686
- </td>
2687
- </tr>
2688
- </tbody>
2689
- </table>
2690
- <p>This module does not add any variables to the AMPS context.</p>
2691
- </div>
2692
- <div class="section" id="manage-replication">
2693
- <span id="ug-actions-do-replications"></span><h4>Manage Replication<a class="headerlink" href="#manage-replication" title="Permalink to this headline">¶</a></h4>
2694
- <p>AMPS provides modules for downgrading replication destinations that fall
2695
- behind and upgrading them again when they catch up.</p>
2696
- <table border="1" class="docutils" id="id48">
2697
- <caption><span class="caption-text"><em>Replication Management Modules</em></span><a class="headerlink" href="#id48" title="Permalink to this table">¶</a></caption>
2698
- <colgroup>
2699
- <col width="50%" />
2700
- <col width="50%" />
2701
- </colgroup>
2702
- <thead valign="bottom">
2703
- <tr class="row-odd"><th class="head">Module Name</th>
2704
- <th class="head">Does</th>
2705
- </tr>
2706
- </thead>
2707
- <tbody valign="top">
2708
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">amps-action-do-downgrade-replication</span></code></td>
2709
- <td>Downgrades replication connections from
2710
- synchronous to asynchronous if the age
2711
- of the last acknowledged message is
2712
- older than a specified time period.</td>
2713
- </tr>
2714
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">amps-action-do-upgrade-replication</span></code></td>
2715
- <td>Upgrades previously-downgraded
2716
- replication connections from
2717
- asynchronous to synchronous if the age
2718
- of the last acknowledged message is
2719
- more recent than a specified time
2720
- period. This action has no effect on
2721
- replication destinations that are
2722
- specified as <code class="docutils literal"><span class="pre">async</span></code> in the
2723
- configuration file.</td>
2724
- </tr>
2725
- </tbody>
2726
- </table>
2727
- <p>The modules determine when to downgrade and upgrade based on the age of
2728
- the oldest message that a destination has not yet acknowledged. When
2729
- using these modules, it is important that the thresholds for the modules
2730
- are not set too close together, otherwise; AMPS may repeatedly upgrade
2731
- and downgrade the connection when the destination is consistently
2732
- acknowledging messages at a rate close to the threshold values. To avoid
2733
- this, 60East recommends that the <code class="docutils literal"><span class="pre">Age</span></code> set for the upgrade module is
2734
- 1/2 of the age used for the downgrade module.</p>
2735
- <p>The <code class="docutils literal"><span class="pre">amps-action-do-downgrade-replication</span></code> module accepts the
2736
- following options:</p>
2737
- <table border="1" class="docutils" id="id49">
2738
- <caption><span class="caption-text"><em>Parameters for Downgrading Replication</em></span><a class="headerlink" href="#id49" title="Permalink to this table">¶</a></caption>
2739
- <colgroup>
2740
- <col width="50%" />
2741
- <col width="50%" />
2742
- </colgroup>
2743
- <thead valign="bottom">
2744
- <tr class="row-odd"><th class="head">Parameter</th>
2745
- <th class="head">Description</th>
2746
- </tr>
2747
- </thead>
2748
- <tbody valign="top">
2749
- <tr class="row-even"><td><div class="req first last docutils container">
2750
- Age</div>
2751
- </td>
2752
- <td><p class="first">Specifies the maximum message age at which AMPS
2753
- downgrades a replication destination to <code class="docutils literal"><span class="pre">async</span></code>.
2754
- When this action runs, AMPS downgrades any
2755
- destination for which the oldest unacknowledged
2756
- message is older than the specified <code class="docutils literal"><span class="pre">Age</span></code>.</p>
2757
- <p>For example, when the <code class="docutils literal"><span class="pre">Age</span></code> is <code class="docutils literal"><span class="pre">5m</span></code>, AMPS will
2758
- downgrade any destination where a message older than
2759
- 5 minutes has not been acknowledged.</p>
2760
- <p class="last">There is no default for this parameter.</p>
2761
- </td>
2762
- </tr>
2763
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">GracePeriod</span></code></td>
2764
- <td>The approximate time to wait after start up before
2765
- beginning to check whether to downgrade links. The
2766
- <code class="docutils literal"><span class="pre">GracePeriod</span></code> allows time for other AMPS instances
2767
- to start up and for connections to be established
2768
- between AMPS instances.</td>
2769
- </tr>
2770
- </tbody>
2771
- </table>
2772
- <p>The <code class="docutils literal"><span class="pre">amps-action-do-upgrade-replication</span></code> module only applies to
2773
- destinations configured as <code class="docutils literal"><span class="pre">sync</span></code> that have been previously
2774
- downgraded. The module accepts the following options:</p>
2775
- <table border="1" class="docutils" id="id50">
2776
- <caption><span class="caption-text"><em>Parameters for Upgrading Replication</em></span><a class="headerlink" href="#id50" title="Permalink to this table">¶</a></caption>
2777
- <colgroup>
2778
- <col width="50%" />
2779
- <col width="50%" />
2780
- </colgroup>
2781
- <thead valign="bottom">
2782
- <tr class="row-odd"><th class="head">Parameter</th>
2783
- <th class="head">Description</th>
2784
- </tr>
2785
- </thead>
2786
- <tbody valign="top">
2787
- <tr class="row-even"><td><div class="req first last docutils container">
2788
- Age</div>
2789
- </td>
2790
- <td><p class="first">Specifies the maximum message age at which a
2791
- previously-downgraded destination will be upgraded
2792
- to <code class="docutils literal"><span class="pre">sync</span></code> mode. When this action runs, AMPS
2793
- upgrades any destination that has been previously
2794
- downgraded where the oldest unacknowledged message
2795
- is more recent than the time value specified in the
2796
- <code class="docutils literal"><span class="pre">Age</span></code> parameter.</p>
2797
- <p>For example, if a destination has been downgraded to
2798
- <code class="docutils literal"><span class="pre">async</span></code> mode and the <code class="docutils literal"><span class="pre">Age</span></code> is <code class="docutils literal"><span class="pre">2m</span></code>, AMPS will
2799
- upgrade the destination when the oldest
2800
- unacknowledged message to that destination is less
2801
- than 2 minutes old.</p>
2802
- <p class="last">There is no default for this parameter.</p>
2803
- </td>
2804
- </tr>
2805
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">GracePeriod</span></code></td>
2806
- <td>The approximate time to wait after start up before
2807
- beginning to check whether to upgrade links. The
2808
- <code class="docutils literal"><span class="pre">GracePeriod</span></code> allows time for other AMPS instances
2809
- to start up, and for connections to be established
2810
- between AMPS instances.</td>
2811
- </tr>
2812
- </tbody>
2813
- </table>
2814
- <p>These modules do not add any variables to the AMPS context.</p>
2815
- </div>
2816
- <div class="section" id="extract-values">
2817
- <span id="ug-actions-do-extract-values"></span><h4>Extract Values<a class="headerlink" href="#extract-values" title="Permalink to this headline">¶</a></h4>
2818
- <p>The <code class="docutils literal"><span class="pre">amps-action-do-extract-values</span></code> module extracts message values
2819
- from a message and stores the values in a variable.</p>
2820
- <p>To extract values from a message, this module requires the
2821
- <code class="docutils literal"><span class="pre">MessageType</span></code> and <code class="docutils literal"><span class="pre">Value</span></code> parameters. In addition to that,
2822
- this module also accepts an optional parameter listed below:</p>
2823
- <table border="1" class="docutils" id="id51">
2824
- <caption><span class="caption-text"><em>Parameters for Extract Values</em></span><a class="headerlink" href="#id51" title="Permalink to this table">¶</a></caption>
2825
- <colgroup>
2826
- <col width="50%" />
2827
- <col width="50%" />
2828
- </colgroup>
2829
- <thead valign="bottom">
2830
- <tr class="row-odd"><th class="head">Parameter</th>
2831
- <th class="head">Description</th>
2832
- </tr>
2833
- </thead>
2834
- <tbody valign="top">
2835
- <tr class="row-even"><td><div class="req first last docutils container">
2836
- MessageType</div>
2837
- </td>
2838
- <td>The message type for the message to parse. There is no
2839
- default for this parameter.</td>
2840
- </tr>
2841
- <tr class="row-odd"><td><div class="req first last docutils container">
2842
- Value</div>
2843
- </td>
2844
- <td><p class="first">An assignment statement that specifies the variable
2845
- to store the extracted value in and the XPath
2846
- identifier for the value to extract. This action can
2847
- contain any number of <code class="docutils literal"><span class="pre">Value</span></code> elements, each
2848
- providing an assignment statement.</p>
2849
- <p>The format of the assignment is as follows:</p>
2850
- <div class="code highlight-default"><div class="highlight"><pre><span></span><span class="n">variable</span><span class="o">=</span><span class="n">amps</span><span class="o">-</span><span class="n">expression</span>
2851
- </pre></div>
2852
- </div>
2853
- <p>For example, the following assignment statement stores
2854
- the value of the <code class="docutils literal"><span class="pre">/previousRegionCode</span></code> within the
2855
- message to the variable <code class="docutils literal"><span class="pre">PREVIOUS_REGION</span></code>. After
2856
- this action runs, the content of the variable can be
2857
- referenced in subsequent action steps as
2858
- <code class="docutils literal"><span class="pre">{{PREVIOUS_REGION}}</span></code>.</p>
2859
- <div class="code highlight-default"><div class="highlight"><pre><span></span><span class="n">PREVIOUS_REGION</span><span class="o">=/</span><span class="n">previousRegionCode</span>
2860
- </pre></div>
2861
- </div>
2862
- <p>Likewise, the following assignment statement creates a string from the values
2863
- of the <code class="docutils literal"><span class="pre">/firstName</span></code> and <code class="docutils literal"><span class="pre">/lastName</span></code> fields within the
2864
- message, and stores that to the variable <code class="docutils literal"><span class="pre">COMBINED_NAME</span></code>. After this
2865
- action runs, the content of the variable can be referenced in subsequent action
2866
- steps as <code class="docutils literal"><span class="pre">{{COMBINED_NAME}}</span></code>.</p>
2867
- <div class="code highlight-default"><div class="highlight"><pre><span></span><span class="n">COMBINED_NAME</span><span class="o">=</span><span class="n">CONCAT</span><span class="p">(</span><span class="o">/</span><span class="n">firstName</span><span class="p">,</span> <span class="s1">&#39; &#39;</span><span class="p">,</span> <span class="o">/</span><span class="n">lastName</span><span class="p">)</span>
2868
- </pre></div>
2869
- </div>
2870
- <p class="last">There is no default for this option. If no <code class="docutils literal"><span class="pre">Value</span></code>
2871
- options are provided, AMPS does not save any values
2872
- from the parsed message.</p>
2873
- </td>
2874
- </tr>
2875
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">Data</span></code></td>
2876
- <td>Contains the data to parse. Typically it is a message
2877
- received from a publish event or retrieved from a SOW
2878
- query. There is no default value for this parameter.
2879
- If it is omitted, AMPS will not parse data when the
2880
- action is run.</td>
2881
- </tr>
2882
- </tbody>
2883
- </table>
2884
- <p>The module <code class="docutils literal"><span class="pre">amps-action-do-extract-values</span></code> adds the variables
2885
- specified by the <code class="docutils literal"><span class="pre">Value</span></code> options to the current context.</p>
2886
- </div>
2887
- <div class="section" id="translate-data">
2888
- <span id="ug-actions-do-translate-values"></span><h4>Translate Data<a class="headerlink" href="#translate-data" title="Permalink to this headline">¶</a></h4>
2889
- <p>The <code class="docutils literal"><span class="pre">amps-action-do-translate-data</span></code> action allows you to translate the
2890
- value from variables in the current context. One common use for this
2891
- action is to translate a large number of status values into a smaller
2892
- number of states before publishing that information in a message. For
2893
- example, an order processing system may track a large number of
2894
- finely-grained status codes, while the reporting view for customers may
2895
- want to map those status codes to a smaller set of codes such as
2896
- &#8220;pending&#8221;, &#8220;shipped&#8221; and &#8220;delivered&#8221;. This action allows you to easily
2897
- translate those codes within AMPS.</p>
2898
- <p>When used to assemble a message, this action provides equivalent results
2899
- to a set of nested conditional statements in a view projection. However,
2900
- if you are using actions to parse, assemble and publish messages, this
2901
- action gives you the ability to change values.</p>
2902
- <table border="1" class="docutils" id="id52">
2903
- <caption><span class="caption-text"><em>Parameters for Translate Data</em></span><a class="headerlink" href="#id52" title="Permalink to this table">¶</a></caption>
2904
- <colgroup>
2905
- <col width="50%" />
2906
- <col width="50%" />
2907
- </colgroup>
2908
- <thead valign="bottom">
2909
- <tr class="row-odd"><th class="head">Parameter</th>
2910
- <th class="head">Description</th>
2911
- </tr>
2912
- </thead>
2913
- <tbody valign="top">
2914
- <tr class="row-even"><td><div class="req first last docutils container">
2915
- Data</div>
2916
- </td>
2917
- <td>The data to translate. Most often, this is the value
2918
- of a variable in the current context.</td>
2919
- </tr>
2920
- <tr class="row-odd"><td><div class="req first last docutils container">
2921
- Value</div>
2922
- </td>
2923
- <td>The variable to store the translated value in.</td>
2924
- </tr>
2925
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">Case</span></code></td>
2926
- <td><p class="first">A translation statement. The translation statement
2927
- takes the form of <code class="docutils literal"><span class="pre">original_value=translated_value</span></code>.
2928
- This action allows you to provide any number of
2929
- <code class="docutils literal"><span class="pre">Case</span></code> statements.</p>
2930
- <p>The action matches the <code class="docutils literal"><span class="pre">Data</span></code> provided to the
2931
- <code class="docutils literal"><span class="pre">original_value</span></code> in each <code class="docutils literal"><span class="pre">Case</span></code> statement. When
2932
- it finds a matching value, the action stores the
2933
- translated value in the variable identified by the
2934
- <code class="docutils literal"><span class="pre">Value</span></code> statement.</p>
2935
- <p>For example, the following translation statement
2936
- translates a value of <code class="docutils literal"><span class="pre">credit_check_in_progress</span></code> to
2937
- a value of <code class="docutils literal"><span class="pre">pending</span></code></p>
2938
- <div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">&lt;</span><span class="n">Case</span><span class="o">&gt;</span><span class="n">credit_check_in_progress</span><span class="o">=</span><span class="n">pending</span><span class="o">&lt;/</span><span class="n">Case</span><span class="o">&gt;</span>
2939
- </pre></div>
2940
- </div>
2941
- <p class="last">There is no default for this option.</p>
2942
- </td>
2943
- </tr>
2944
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">Default</span></code></td>
2945
- <td><p class="first">The default translation. AMPS sets the value of the
2946
- variable to the contents of this element if no
2947
- <code class="docutils literal"><span class="pre">Case</span></code> statement matches the <code class="docutils literal"><span class="pre">Data</span></code> provided.</p>
2948
- <p class="last">This element is optional. If no <code class="docutils literal"><span class="pre">Default</span></code> is
2949
- specified, AMPS uses the value of the original
2950
- <code class="docutils literal"><span class="pre">Data</span></code> as the default translation.</p>
2951
- </td>
2952
- </tr>
2953
- </tbody>
2954
- </table>
2955
- </div>
2956
- <div class="section" id="increment-counter">
2957
- <span id="ug-actions-do-increment-counter"></span><h4>Increment Counter<a class="headerlink" href="#increment-counter" title="Permalink to this headline">¶</a></h4>
2958
- <p>The <code class="docutils literal"><span class="pre">amps-action-do-increment-counter</span></code> module allows AMPS to increment
2959
- a counter by a value. Counters persist across action runs, and are saved
2960
- in the instance memory until the instance is restarted.</p>
2961
- <p>If a counter with the specified name does not currently exist in the
2962
- instance when the action runs, AMPS creates the counter with a value of
2963
- 0 and then immediately increments it with the specified value. If the
2964
- counter is already present, AMPS will simply increment the counter.</p>
2965
- <p>To see an example of <code class="docutils literal"><span class="pre">amps-action-do-increment-counter</span></code>, refer to the
2966
- Action Configuration Examples section at the end of this chapter.</p>
2967
- <p>This module requires a <code class="docutils literal"><span class="pre">Key</span></code> that tells AMPS which counter to
2968
- increment and a <code class="docutils literal"><span class="pre">Value</span></code> that tells AMPS where to store the incremented
2969
- value.</p>
2970
- <table border="1" class="docutils" id="id53">
2971
- <caption><span class="caption-text"><em>Parameter for Increment Counter</em></span><a class="headerlink" href="#id53" title="Permalink to this table">¶</a></caption>
2972
- <colgroup>
2973
- <col width="50%" />
2974
- <col width="50%" />
2975
- </colgroup>
2976
- <thead valign="bottom">
2977
- <tr class="row-odd"><th class="head">Parameter</th>
2978
- <th class="head">Description</th>
2979
- </tr>
2980
- </thead>
2981
- <tbody valign="top">
2982
- <tr class="row-even"><td><div class="req first last docutils container">
2983
- Key</div>
2984
- </td>
2985
- <td>The name of the counter that AMPS will increment.
2986
- There is no default value for this parameter.</td>
2987
- </tr>
2988
- <tr class="row-odd"><td><div class="req first last docutils container">
2989
- Value</div>
2990
- </td>
2991
- <td>The variable in which to store the current value of
2992
- the counter.</td>
2993
- </tr>
2994
- </tbody>
2995
- </table>
2996
- <p>This module adds a variable that contains the counter, as specified in the
2997
- <code class="docutils literal"><span class="pre">Value</span></code> parameter, to the current context.</p>
2998
- </div>
2999
- <div class="section" id="raising-a-custom-event">
3000
- <span id="ug-actions-do-raise-event"></span><h4>Raising a Custom Event<a class="headerlink" href="#raising-a-custom-event" title="Permalink to this headline">¶</a></h4>
3001
- <p>The AMPS action system provides a way to create custom events and run an
3002
- action when the custom event is raised. A custom event is raised by
3003
- the <code class="docutils literal"><span class="pre">amps-action-do-execute-event</span></code> action. Events are received
3004
- by the <code class="docutils literal"><span class="pre">amps-action-on-execute-event</span></code> module.</p>
3005
- <p>This action requires <strong>one</strong> of the following parameters:</p>
3006
- <table border="1" class="docutils" id="id54">
3007
- <caption><span class="caption-text"><em>Parameters for Do Execute Event</em></span><a class="headerlink" href="#id54" title="Permalink to this table">¶</a></caption>
3008
- <colgroup>
3009
- <col width="50%" />
3010
- <col width="50%" />
3011
- </colgroup>
3012
- <thead valign="bottom">
3013
- <tr class="row-odd"><th class="head">Parameter</th>
3014
- <th class="head">Description</th>
3015
- </tr>
3016
- </thead>
3017
- <tbody valign="top">
3018
- <tr class="row-even"><td><div class="req first last docutils container">
3019
- Event</div>
3020
- </td>
3021
- <td><p class="first">The name of the event to raise.</p>
3022
- <p class="last">There is no default value for this parameter.</p>
3023
- </td>
3024
- </tr>
3025
- <tr class="row-odd"><td><div class="req first last docutils container">
3026
- EventVariable</div>
3027
- </td>
3028
- <td><p class="first">The variable from which to retrieve the name of the
3029
- event to raise.</p>
3030
- <p class="last">There is no default value for this parameter.</p>
3031
- </td>
3032
- </tr>
3033
- </tbody>
3034
- </table>
3035
- <p>This module does not add any variables to the AMPS context.</p>
3036
- </div>
3037
- <div class="section" id="executing-system-commands">
3038
- <span id="ug-actions-do-execute-system"></span><h4>Executing System Commands<a class="headerlink" href="#executing-system-commands" title="Permalink to this headline">¶</a></h4>
3039
- <p>The <code class="docutils literal"><span class="pre">amps-action-do-execute-system</span></code> module allows AMPS to execute
3040
- system commands.</p>
3041
- <p>The parameter for this module is simply the command. The command
3042
- executes in the current working directory of the AMPS process, with the
3043
- credentials and environment of the AMPS process.</p>
3044
- <p>The thread used to execute the command is monitored by AMPS thread
3045
- monitoring. This means that the command must complete within a
3046
- short period of time (on the order of a second or two at the longest)
3047
- or AMPS may consider the thread to have become deadlocked.</p>
3048
- <table border="1" class="docutils" id="id55">
3049
- <caption><span class="caption-text"><em>Parameter for Execute System</em></span><a class="headerlink" href="#id55" title="Permalink to this table">¶</a></caption>
3050
- <colgroup>
3051
- <col width="50%" />
3052
- <col width="50%" />
3053
- </colgroup>
3054
- <thead valign="bottom">
3055
- <tr class="row-odd"><th class="head">Parameter</th>
3056
- <th class="head">Description</th>
3057
- </tr>
3058
- </thead>
3059
- <tbody valign="top">
3060
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">Command</span></code></td>
3061
- <td>The command to execute. When the action runs, this
3062
- command is executed as a shell command on the system
3063
- where AMPS is running.</td>
3064
- </tr>
3065
- </tbody>
3066
- </table>
3067
- <p>This module does not add any variables to the AMPS context.</p>
3068
- <div class="admonition caution">
3069
- <p class="first admonition-title">Caution</p>
3070
- <p class="last">This module executes system commands with the credentials of the
3071
- AMPS process. It is possible to damage the system, interrupt the
3072
- AMPS service, or cause data loss by executing commands with this
3073
- module. 60East recommends against using any data extracted from
3074
- an AMPS message in the command executed.</p>
3075
- </div>
3076
- </div>
3077
- <div class="section" id="managing-queue-transfer-requests">
3078
- <span id="ug-actions-queue"></span><h4>Managing Queue Transfer Requests<a class="headerlink" href="#managing-queue-transfer-requests" title="Permalink to this headline">¶</a></h4>
3079
- <p>AMPS provides actions to enable and disable the &#8220;proxied transfer&#8221; setting for
3080
- message queues. As described in the <em>Failover and Queue Message Ownership</em> section
3081
- of the <em>Replicating Messages Between Instances</em> chapter of the <em>AMPS User Guide</em>, this
3082
- setting allows an instance to manage ownership of a queue message that is owned by
3083
- an instance that is offline (or otherwise unreachable from this instance).
3084
- 60East recommends that these actions only be configured in situations where
3085
- the administrative interface is unavailable. Unlike most other settings
3086
- for which actions are provided, the &#8220;proxied transfer&#8221; setting
3087
- is intended for disaster recovery rather than normal maintenance.</p>
3088
- <p>The <code class="docutils literal"><span class="pre">amps-action-do-enable-proxied-transfer</span></code> action can be used to enable
3089
- proxied transfer for a queue. The <code class="docutils literal"><span class="pre">amps-action-do-disable-proxied-transfer</span></code>
3090
- action can be used to disable proxied transfer for a queue.</p>
3091
- <p>Enabling proxied transfer will allow this instance to take ownership of
3092
- messages owned by an unreachable instance, allowing those messages to be
3093
- delivered. However, it also introduces the risk of duplicate delivery and
3094
- duplicate processing in cases where the instance that currently owns the
3095
- message is still online (but the replication network connection
3096
- has failed), or in cases where the instance that currently owns the message
3097
- becomes available again and begins servicing requests. See the
3098
- <em>Failover and Queue Message Ownership</em> section for more details.</p>
3099
- <p>Although an action is provided for flexibility,
3100
- 60East does not recommend that the <code class="docutils literal"><span class="pre">enable_proxied_transfer</span></code> setting is
3101
- enabled automatically, due to the possibility of duplicate delivery. Instead,
3102
- this action should be configured to run in response to action by an
3103
- administrator, after the administrator determines that one of the instances
3104
- that contains the queue is, in fact, offline and that the possibility of
3105
- duplicate processing is an acceptable risk.</p>
3106
- <div class="admonition caution">
3107
- <p class="first admonition-title">Caution</p>
3108
- <p class="last">These actions are intended to assist in maintaining message
3109
- delivery from a distributed queue during an outage of one of the
3110
- instances that services the queue. When this setting is
3111
- enabled, the possibility of duplicate delivery exists.</p>
3112
- </div>
3113
- <p>These actions require the following parameters:</p>
3114
- <table border="1" class="docutils" id="id56">
3115
- <caption><span class="caption-text"><em>Parameters for Do Enable Proxied Transfer</em></span><a class="headerlink" href="#id56" title="Permalink to this table">¶</a></caption>
3116
- <colgroup>
3117
- <col width="50%" />
3118
- <col width="50%" />
3119
- </colgroup>
3120
- <thead valign="bottom">
3121
- <tr class="row-odd"><th class="head">Parameter</th>
3122
- <th class="head">Description</th>
3123
- </tr>
3124
- </thead>
3125
- <tbody valign="top">
3126
- <tr class="row-even"><td><div class="req first last docutils container">
3127
- Topic</div>
3128
- </td>
3129
- <td><p class="first">The name of the queue topic for which to enable
3130
- or disable proxied transfer.</p>
3131
- <p class="last">There is no default value for this parameter.</p>
3132
- </td>
3133
- </tr>
3134
- <tr class="row-odd"><td><div class="req first last docutils container">
3135
- MessageType</div>
3136
- </td>
3137
- <td><p class="first">The message type of the topic for which to enable or
3138
- disable proxied transfer.</p>
3139
- <p class="last">There is no default value for this parameter.</p>
3140
- </td>
3141
- </tr>
3142
- </tbody>
3143
- </table>
3144
- <p>This module does not add any variables to the AMPS context.</p>
3145
- </div>
3146
- <div class="section" id="debugging-actions">
3147
- <span id="ug-actions-debugging"></span><h4>Debugging Actions<a class="headerlink" href="#debugging-actions" title="Permalink to this headline">¶</a></h4>
3148
- <p>AMPS provides modules for debugging your AMPS action configuration.</p>
3149
- <table border="1" class="docutils" id="id57">
3150
- <caption><span class="caption-text"><em>Debugging Modules</em></span><a class="headerlink" href="#id57" title="Permalink to this table">¶</a></caption>
3151
- <colgroup>
3152
- <col width="50%" />
3153
- <col width="50%" />
3154
- </colgroup>
3155
- <thead valign="bottom">
3156
- <tr class="row-odd"><th class="head">Module Name</th>
3157
- <th class="head">Does</th>
3158
- </tr>
3159
- </thead>
3160
- <tbody valign="top">
3161
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">amps-action-do-nothing</span></code></td>
3162
- <td>Takes no action. Does not modify the state of AMPS in any way.
3163
- The module simply logs that it was called.</td>
3164
- </tr>
3165
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">amps-action-do-echo-message</span></code></td>
3166
- <td>Echoes the specified message to the log. The message appears in
3167
- the log as message <code class="docutils literal"><span class="pre">29-0103</span></code>, at <code class="docutils literal"><span class="pre">info</span></code> level. The logging
3168
- configuration must allow this message to be recorded for the
3169
- output of this action to appear in the log.</td>
3170
- </tr>
3171
- </tbody>
3172
- </table>
3173
- <p>The <code class="docutils literal"><span class="pre">amps-action-do-nothing</span></code> module requires no parameters.</p>
3174
- <p>The <code class="docutils literal"><span class="pre">amps-action-do-echo-message</span></code> module requires the following
3175
- parameter:</p>
3176
- <table border="1" class="docutils" id="id58">
3177
- <caption><span class="caption-text"><em>Parameter for Echo Message</em></span><a class="headerlink" href="#id58" title="Permalink to this table">¶</a></caption>
3178
- <colgroup>
3179
- <col width="50%" />
3180
- <col width="50%" />
3181
- </colgroup>
3182
- <thead valign="bottom">
3183
- <tr class="row-odd"><th class="head">Parameter</th>
3184
- <th class="head">Description</th>
3185
- </tr>
3186
- </thead>
3187
- <tbody valign="top">
3188
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">Message</span></code></td>
3189
- <td>The message to echo. The default for this parameter
3190
- is simply an empty string.</td>
3191
- </tr>
3192
- </tbody>
3193
- </table>
3194
- <p>These modules do not add any variables to the AMPS context.</p>
3195
- </div>
3196
- <div class="section" id="creating-a-minidump">
3197
- <span id="ug-actions-do-minidump"></span><h4>Creating a Minidump<a class="headerlink" href="#creating-a-minidump" title="Permalink to this headline">¶</a></h4>
3198
- <p>AMPS provides a module for creating minidumps. The
3199
- <code class="docutils literal"><span class="pre">amps-action-do-minidump</span></code> module provides a way for developers and/or
3200
- administrators to easily create minidumps for diagnostic purposes.</p>
3201
- <p>Running this module does <em>not</em> cause AMPS to exit.</p>
3202
- <table border="1" class="docutils" id="id59">
3203
- <caption><span class="caption-text"><em>Module to Create Minidump</em></span><a class="headerlink" href="#id59" title="Permalink to this table">¶</a></caption>
3204
- <colgroup>
3205
- <col width="50%" />
3206
- <col width="50%" />
3207
- </colgroup>
3208
- <thead valign="bottom">
3209
- <tr class="row-odd"><th class="head">Module Name</th>
3210
- <th class="head">Does</th>
3211
- </tr>
3212
- </thead>
3213
- <tbody valign="top">
3214
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">amps-action-do-minidump</span></code></td>
3215
- <td>Creates a minidump.</td>
3216
- </tr>
3217
- </tbody>
3218
- </table>
3219
- <p>This module does not require any parameters.</p>
3220
- <p>This module does not add any variables to the AMPS context.</p>
3221
- </div>
3222
- <div class="section" id="shut-down-amps">
3223
- <span id="ug-actions-shutdown-amps"></span><h4>Shut Down AMPS<a class="headerlink" href="#shut-down-amps" title="Permalink to this headline">¶</a></h4>
3224
- <p>The <code class="docutils literal"><span class="pre">amps-action-do-shutdown</span></code> module shuts down AMPS. This module is
3225
- registered as the default action for several Linux signals, as described
3226
- in <a class="reference internal" href="#ug-actions-default-signal"><span class="std std-ref">Default Signal Actions</span></a>.</p>
3227
- <p>Causing this module to run is the recommended way to shut down AMPS.
3228
- This is most often done by sending <code class="docutils literal"><span class="pre">SIGINT</span></code> to the AMPS process,
3229
- which is handled by <code class="docutils literal"><span class="pre">amps-action-on-signal</span></code> to run
3230
- this module.</p>
3231
- <table border="1" class="docutils" id="id60">
3232
- <caption><span class="caption-text"><em>Shut Down Module</em></span><a class="headerlink" href="#id60" title="Permalink to this table">¶</a></caption>
3233
- <colgroup>
3234
- <col width="50%" />
3235
- <col width="50%" />
3236
- </colgroup>
3237
- <thead valign="bottom">
3238
- <tr class="row-odd"><th class="head">Module Name</th>
3239
- <th class="head">Does</th>
3240
- </tr>
3241
- </thead>
3242
- <tbody valign="top">
3243
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">amps-action-do-shutdown</span></code></td>
3244
- <td>Shuts down AMPS.</td>
3245
- </tr>
3246
- </tbody>
3247
- </table>
3248
- <p>This module does not require any parameters.</p>
3249
- <p>This module does not add any variables to the AMPS context.</p>
3250
- </div>
3251
- </div>
3252
- <div class="section" id="if-element-conditionally-stop-action-sequence">
3253
- <span id="ug-if-actions"></span><h3>If Element: Conditionally Stop Action Sequence<a class="headerlink" href="#if-element-conditionally-stop-action-sequence" title="Permalink to this headline">¶</a></h3>
3254
- <p>AMPS includes the ability to run actions only if certain conditions are
3255
- true. For some actions (such as the replication management actions), the
3256
- condition is included as a part of the action. In other cases, AMPS
3257
- provides <code class="docutils literal"><span class="pre">If</span></code> actions.</p>
3258
- <p>An <code class="docutils literal"><span class="pre">If</span></code> action is evaluated each time the execution of an action
3259
- reaches the <code class="docutils literal"><span class="pre">If</span></code> action. When the condition specified in an <code class="docutils literal"><span class="pre">If</span></code>
3260
- action is <code class="docutils literal"><span class="pre">true</span></code>, AMPS proceeds to the next <code class="docutils literal"><span class="pre">Do</span></code> action. If the
3261
- condition in an <code class="docutils literal"><span class="pre">If</span></code> action is <code class="docutils literal"><span class="pre">False</span></code>, AMPS does not run any
3262
- further <code class="docutils literal"><span class="pre">Do</span></code> elements in the action.</p>
3263
- <div class="section" id="file-system-usage">
3264
- <span id="ug-actions-if-file-system-usage"></span><h4>File System Usage<a class="headerlink" href="#file-system-usage" title="Permalink to this headline">¶</a></h4>
3265
- <p>AMPS provides the following <code class="docutils literal"><span class="pre">If</span></code> module for taking action based on the
3266
- file system capacity. AMPS loads this module by default:</p>
3267
- <table border="1" class="docutils" id="id61">
3268
- <caption><span class="caption-text"><em>File System Usage</em></span><a class="headerlink" href="#id61" title="Permalink to this table">¶</a></caption>
3269
- <colgroup>
3270
- <col width="50%" />
3271
- <col width="50%" />
3272
- </colgroup>
3273
- <thead valign="bottom">
3274
- <tr class="row-odd"><th class="head">Module Name</th>
3275
- <th class="head">Does</th>
3276
- </tr>
3277
- </thead>
3278
- <tbody valign="top">
3279
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">amps-action-if-file-system-usage</span></code></td>
3280
- <td>Checks whether the specified path on the filesystem meets the
3281
- specified usage level. If so, allows execution to continue.
3282
- If not, stops the action.</td>
3283
- </tr>
3284
- </tbody>
3285
- </table>
3286
- <table border="1" class="docutils" id="id62">
3287
- <caption><span class="caption-text"><em>Parameters for Running Actions Based on File System Usage</em></span><a class="headerlink" href="#id62" title="Permalink to this table">¶</a></caption>
3288
- <colgroup>
3289
- <col width="50%" />
3290
- <col width="50%" />
3291
- </colgroup>
3292
- <thead valign="bottom">
3293
- <tr class="row-odd"><th class="head">Parameter</th>
3294
- <th class="head">Description</th>
3295
- </tr>
3296
- </thead>
3297
- <tbody valign="top">
3298
- <tr class="row-even"><td><div class="req first last docutils container">
3299
- Path</div>
3300
- </td>
3301
- <td><p class="first">Specifies the filesystem path to monitor. The AMPS
3302
- process must have sufficient permissions to check
3303
- the disk usage for this path at the time the check
3304
- runs.</p>
3305
- <p class="last">There is no default for this parameter.</p>
3306
- </td>
3307
- </tr>
3308
- <tr class="row-odd"><td><div class="req first last docutils container">
3309
- GreaterThan</div>
3310
- </td>
3311
- <td>The threshold to check, specified as a percentage.
3312
- If the provided path has more space used than
3313
- specified in this parameter, subsequent <code class="docutils literal"><span class="pre">Do</span></code> and
3314
- <code class="docutils literal"><span class="pre">If</span></code> blocks will run. Otherwise, the action will
3315
- complete with this step.</td>
3316
- </tr>
3317
- </tbody>
3318
- </table>
3319
- <p>This module does not add any variables to the AMPS context.</p>
3320
- <p>For example, the following action will log a message in the AMPS log
3321
- every minute when the file system becomes more than 90% full, and
3322
- perform a full shutdown of AMPS if the file system is more than 98%
3323
- full.</p>
3324
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;Actions&gt;</span>
3325
- <span class="nt">&lt;Action&gt;</span>
3326
- <span class="nt">&lt;On&gt;</span>
3327
- <span class="nt">&lt;Module&gt;</span>amps-action-on-schedule<span class="nt">&lt;/Module&gt;</span>
3328
- <span class="nt">&lt;Options&gt;</span>
3329
- <span class="nt">&lt;Every&gt;</span>1m<span class="nt">&lt;/Every&gt;</span>
3330
- <span class="nt">&lt;/Options&gt;</span>
3331
- <span class="nt">&lt;/On&gt;</span>
3332
- <span class="nt">&lt;If&gt;</span>
3333
- <span class="nt">&lt;Module&gt;</span>amps-action-if-file-system-usage<span class="nt">&lt;/Module&gt;</span>
3334
- <span class="nt">&lt;Options&gt;</span>
3335
- <span class="nt">&lt;GreaterThan&gt;</span>90%<span class="nt">&lt;/GreaterThan&gt;</span>
3336
- <span class="nt">&lt;Path&gt;</span>/mnt/fastdrive/amps<span class="nt">&lt;/Path&gt;</span>
3337
- <span class="nt">&lt;/Options&gt;</span>
3338
- <span class="nt">&lt;/If&gt;</span>
3339
- <span class="nt">&lt;Do&gt;</span>
3340
- <span class="nt">&lt;Module&gt;</span>amps-action-do-echo-message<span class="nt">&lt;/Module&gt;</span>
3341
- <span class="nt">&lt;Options&gt;</span>
3342
- <span class="nt">&lt;Message&gt;</span>ALERT: You&#39;re getting low on space!<span class="nt">&lt;/Message&gt;</span>
3343
- <span class="nt">&lt;/Options&gt;</span>
3344
- <span class="nt">&lt;/Do&gt;</span>
3345
- <span class="nt">&lt;If&gt;</span>
3346
- <span class="nt">&lt;Module&gt;</span>amps-action-if-file-system-usage<span class="nt">&lt;/Module&gt;</span>
3347
- <span class="nt">&lt;Options&gt;</span>
3348
- <span class="nt">&lt;GreaterThan&gt;</span>98%<span class="nt">&lt;/GreaterThan&gt;</span>
3349
- <span class="nt">&lt;Path&gt;</span>/mnt/fastdrive/amps<span class="nt">&lt;/Path&gt;</span>
3350
- <span class="nt">&lt;/Options&gt;</span>
3351
- <span class="nt">&lt;/If&gt;</span>
3352
- <span class="nt">&lt;Do&gt;</span>
3353
- <span class="nt">&lt;Module&gt;</span>amps-action-do-echo-message<span class="nt">&lt;/Module&gt;</span>
3354
- <span class="nt">&lt;Options&gt;</span>
3355
- <span class="nt">&lt;Message&gt;</span>CRITICAL: Shutting down AMPS<span class="nt">&lt;/Message&gt;</span>
3356
- <span class="nt">&lt;/Options&gt;</span>
3357
- <span class="nt">&lt;/Do&gt;</span>
3358
- <span class="nt">&lt;Do&gt;</span>
3359
- <span class="nt">&lt;Module&gt;</span>amps-action-do-shutdown<span class="nt">&lt;/Module&gt;</span>
3360
- <span class="nt">&lt;/Do&gt;</span>
3361
- <span class="nt">&lt;/Action&gt;</span>
3362
- <span class="nt">&lt;/Actions&gt;</span>
3363
- </pre></div>
3364
- </div>
3365
- </div>
3366
- <div class="section" id="conditional-expression">
3367
- <h4>Conditional Expression<a class="headerlink" href="#conditional-expression" title="Permalink to this headline">¶</a></h4>
3368
- <p>AMPS provides the following <code class="docutils literal"><span class="pre">If</span></code> module for taking action based on the
3369
- results of an AMPS expression:</p>
3370
- <table border="1" class="docutils" id="id63">
3371
- <caption><span class="caption-text"><em>Running an action if a condition is true</em></span><a class="headerlink" href="#id63" title="Permalink to this table">¶</a></caption>
3372
- <colgroup>
3373
- <col width="50%" />
3374
- <col width="50%" />
3375
- </colgroup>
3376
- <thead valign="bottom">
3377
- <tr class="row-odd"><th class="head">Module Name</th>
3378
- <th class="head">Does</th>
3379
- </tr>
3380
- </thead>
3381
- <tbody valign="top">
3382
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">amps-action-if-condition</span></code></td>
3383
- <td>Evaluates the specified condition. If the condition is true,
3384
- allows execution to continue. Otherwise, stops the action.</td>
3385
- </tr>
3386
- </tbody>
3387
- </table>
3388
- <table border="1" class="docutils" id="id64">
3389
- <caption><span class="caption-text"><em>Parameters for Running Actions Based on a Conditional Expression</em></span><a class="headerlink" href="#id64" title="Permalink to this table">¶</a></caption>
3390
- <colgroup>
3391
- <col width="50%" />
3392
- <col width="50%" />
3393
- </colgroup>
3394
- <thead valign="bottom">
3395
- <tr class="row-odd"><th class="head">Parameter</th>
3396
- <th class="head">Description</th>
3397
- </tr>
3398
- </thead>
3399
- <tbody valign="top">
3400
- <tr class="row-even"><td><div class="req first last docutils container">
3401
- Condition</div>
3402
- </td>
3403
- <td><p class="first">Specifies the condition to evaluate.</p>
3404
- <p>Context variables are expanded before the condition
3405
- is evaluated. The condition may use AMPS functions.</p>
3406
- <p>The condition must be a valid AMPS filter when
3407
- evaluated. If variable expansion produces an
3408
- expression that is not a valid filter, the module
3409
- logs an error and stops the action.</p>
3410
- <p>Notice that the condition does <em>not</em> have direct
3411
- access to an AMPS message (even if this <code class="docutils literal"><span class="pre">If</span></code>
3412
- step is a part of an action started by a
3413
- message, such as the
3414
- <code class="docutils literal"><span class="pre">amps-action-on-publish-message</span></code> <code class="docutils literal"><span class="pre">On</span></code> event).</p>
3415
- <p>When the <code class="docutils literal"><span class="pre">On</span></code> step for this action provides an
3416
- option for conditional execution (for example,
3417
- the <code class="docutils literal"><span class="pre">Filter</span></code> option for
3418
- <code class="docutils literal"><span class="pre">amps-action-on-publish-message</span></code>), it is more
3419
- efficient to use that <code class="docutils literal"><span class="pre">Filter</span></code> to only run the
3420
- action if the filter matches, than to use this
3421
- step to stop the action.</p>
3422
- <p>You can use the <code class="docutils literal"><span class="pre">amps-action-do-extract-values</span></code>
3423
- <code class="docutils literal"><span class="pre">Do</span></code> step to extract values into context variables,
3424
- or use a filter on the <code class="docutils literal"><span class="pre">On</span></code> event to only run the
3425
- action for messages that meet the criteria.</p>
3426
- <p class="last">There is no default for this parameter.</p>
3427
- </td>
3428
- </tr>
3429
- </tbody>
3430
- </table>
3431
- <p>This module does not add any variables to the AMPS context.</p>
3432
- <p>For example, the following action will enable the transport
3433
- named <code class="docutils literal"><span class="pre">subscriber-transport</span></code> when a client named <code class="docutils literal"><span class="pre">ImportantPublisher</span></code> logs on,
3434
- and disable the transport named <code class="docutils literal"><span class="pre">subscriber-transport</span></code> when the client
3435
- named <code class="docutils literal"><span class="pre">ImportantPublisher</span></code> disconnects. An action of this type could be used
3436
- to ensure that subscribers can only connect to an instance of AMPS if the
3437
- <code class="docutils literal"><span class="pre">ImportantPublisher</span></code> is also connected to that instance. (Not shown in
3438
- this snippet is that the <code class="docutils literal"><span class="pre">subscriber-transport</span></code> is set to the initial
3439
- state of <code class="docutils literal"><span class="pre">disabled</span></code>, and that there is a different transport available
3440
- for <code class="docutils literal"><span class="pre">ImportantPublisher</span></code> to connect to.)</p>
3441
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;Actions&gt;</span>
3442
- <span class="nt">&lt;Action&gt;</span>
3443
- <span class="nt">&lt;On&gt;</span>
3444
- <span class="nt">&lt;Module&gt;</span>amps-action-on-logon-client<span class="nt">&lt;/Module&gt;</span>
3445
- <span class="nt">&lt;/On&gt;</span>
3446
- <span class="nt">&lt;If&gt;</span>
3447
- <span class="nt">&lt;Module&gt;</span>amps-action-if-condition<span class="nt">&lt;/Module&gt;</span>
3448
- <span class="nt">&lt;Options&gt;</span>
3449
- <span class="nt">&lt;Condition&gt;</span>&quot;{{AMPS_CLIENT_NAME}}&quot; = &quot;ImportantPublisher&quot;<span class="nt">&lt;/Condition&gt;</span>
3450
- <span class="nt">&lt;/Options&gt;</span>
3451
- <span class="nt">&lt;/If&gt;</span>
3452
- <span class="nt">&lt;Do&gt;</span>
3453
- <span class="nt">&lt;Module&gt;</span>amps-action-do-enable-transport<span class="nt">&lt;/Module&gt;</span>
3454
- <span class="nt">&lt;Options&gt;</span>
3455
- <span class="nt">&lt;Transport&gt;</span>subscriber-transport<span class="nt">&lt;/Transport&gt;</span>
3456
- <span class="nt">&lt;/Options&gt;</span>
3457
- <span class="nt">&lt;/Do&gt;</span>
3458
- <span class="nt">&lt;/Action&gt;</span>
3459
- <span class="nt">&lt;Action&gt;</span>
3460
- <span class="nt">&lt;On&gt;</span>
3461
- <span class="nt">&lt;Module&gt;</span>amps-action-on-disconnect-client<span class="nt">&lt;/Module&gt;</span>
3462
- <span class="nt">&lt;/On&gt;</span>
3463
- <span class="nt">&lt;If&gt;</span>
3464
- <span class="nt">&lt;Module&gt;</span>amps-action-if-condition<span class="nt">&lt;/Module&gt;</span>
3465
- <span class="nt">&lt;Options&gt;</span>
3466
- <span class="nt">&lt;Condition&gt;</span>&quot;{{AMPS_CLIENT_NAME}}&quot; = &quot;ImportantPublisher&quot;<span class="nt">&lt;/Condition&gt;</span>
3467
- <span class="nt">&lt;/Options&gt;</span>
3468
- <span class="nt">&lt;/If&gt;</span>
3469
- <span class="nt">&lt;Do&gt;</span>
3470
- <span class="nt">&lt;Module&gt;</span>amps-action-do-disable-transport<span class="nt">&lt;/Module&gt;</span>
3471
- <span class="nt">&lt;Options&gt;</span>
3472
- <span class="nt">&lt;Transport&gt;</span>subscriber-transport<span class="nt">&lt;/Transport&gt;</span>
3473
- <span class="nt">&lt;/Options&gt;</span>
3474
- <span class="nt">&lt;/Do&gt;</span>
3475
- <span class="nt">&lt;/Action&gt;</span>
3476
- <span class="nt">&lt;/Actions&gt;</span>
3477
- </pre></div>
3478
- </div>
3479
- </div>
3480
- </div>
3481
- <div class="section" id="action-configuration-examples">
3482
- <span id="ug-actions-examples"></span><h3>Action Configuration Examples<a class="headerlink" href="#action-configuration-examples" title="Permalink to this headline">¶</a></h3>
3483
- <div class="section" id="archive-transaction-log-journal-files-older-than-one-week-every-saturday">
3484
- <h4>Archive Transaction Log Journal Files Older Than One Week, Every Saturday<a class="headerlink" href="#archive-transaction-log-journal-files-older-than-one-week-every-saturday" title="Permalink to this headline">¶</a></h4>
3485
- <p>The listing below asks AMPS to archive transaction log journal
3486
- files older than 1 week, every Saturday at 12:30 AM.</p>
3487
- <p>This configuration moves journal files from the <cite>JournalDirectory</cite>
3488
- to the <cite>JournalArchiveDirectory</cite>, while maintaining the files as an active
3489
- part of the transaction log (ensuring that they are still available for
3490
- bookmark replay, replication, and so on):</p>
3491
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;Actions&gt;</span>
3492
- <span class="nt">&lt;Action&gt;</span>
3493
- <span class="nt">&lt;On&gt;</span>
3494
- <span class="nt">&lt;Module&gt;</span>amps-action-on-schedule<span class="nt">&lt;/Module&gt;</span>
3495
- <span class="nt">&lt;Options&gt;</span>
3496
- <span class="nt">&lt;Every&gt;</span>Saturday at 00:30<span class="nt">&lt;/Every&gt;</span>
3497
- <span class="nt">&lt;Name&gt;</span>Saturday Night Fever<span class="nt">&lt;/Name&gt;</span>
3498
- <span class="nt">&lt;/Options&gt;</span>
3499
- <span class="nt">&lt;/On&gt;</span>
3500
- <span class="nt">&lt;Do&gt;</span>
3501
- <span class="nt">&lt;Module&gt;</span>amps-action-do-archive-journal<span class="nt">&lt;/Module&gt;</span>
3502
- <span class="nt">&lt;Options&gt;</span>
3503
- <span class="nt">&lt;Age&gt;</span>7d<span class="nt">&lt;/Age&gt;</span>
3504
- <span class="nt">&lt;/Options&gt;</span>
3505
- <span class="nt">&lt;/Do&gt;</span>
3506
- <span class="nt">&lt;/Action&gt;</span>
3507
- <span class="nt">&lt;/Actions&gt;</span>
3508
- </pre></div>
3509
- </div>
3510
- </div>
3511
- <div class="section" id="disable-and-re-enable-security-on-signal">
3512
- <h4>Disable and Re-enable Security on Signal<a class="headerlink" href="#disable-and-re-enable-security-on-signal" title="Permalink to this headline">¶</a></h4>
3513
- <p>The listing below disables authentication and entitlement when AMPS
3514
- receives the <code class="docutils literal"><span class="pre">USR1</span></code> signal. When AMPS receives the <code class="docutils literal"><span class="pre">USR2</span></code> signal,
3515
- AMPS re-enables authentication and entitlement. This configuration is,
3516
- in effect, the configuration that AMPS installs by default for these
3517
- signals:</p>
3518
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;Actions&gt;</span>
3519
- <span class="nt">&lt;Action&gt;</span>
3520
- <span class="nt">&lt;On&gt;</span>
3521
- <span class="nt">&lt;Module&gt;</span>amps-action-on-signal<span class="nt">&lt;/Module&gt;</span>
3522
- <span class="nt">&lt;Options&gt;</span>
3523
- <span class="nt">&lt;Signal&gt;</span>SIGUSR1<span class="nt">&lt;/Signal&gt;</span>
3524
- <span class="nt">&lt;/Options&gt;</span>
3525
- <span class="nt">&lt;/On&gt;</span>
3526
- <span class="nt">&lt;Do&gt;</span>
3527
- <span class="nt">&lt;Module&gt;</span>amps-action-do-disable-authentication<span class="nt">&lt;/Module&gt;</span>
3528
- <span class="nt">&lt;/Do&gt;</span>
3529
- <span class="nt">&lt;Do&gt;</span>
3530
- <span class="nt">&lt;Module&gt;</span>amps-action-do-disable-entitlement<span class="nt">&lt;/Module&gt;</span>
3531
- <span class="nt">&lt;/Do&gt;</span>
3532
- <span class="nt">&lt;/Action&gt;</span>
3533
- <span class="nt">&lt;Action&gt;</span>
3534
- <span class="nt">&lt;On&gt;</span>
3535
- <span class="nt">&lt;Module&gt;</span>amps-action-on-signal<span class="nt">&lt;/Module&gt;</span>
3536
- <span class="nt">&lt;Options&gt;</span>
3537
- <span class="nt">&lt;Signal&gt;</span>SIGUSR2<span class="nt">&lt;/Signal&gt;</span>
3538
- <span class="nt">&lt;/Options&gt;</span>
3539
- <span class="nt">&lt;/On&gt;</span>
3540
- <span class="nt">&lt;Do&gt;</span>
3541
- <span class="nt">&lt;Module&gt;</span>amps-action-do-enable-authentication<span class="nt">&lt;/Module&gt;</span>
3542
- <span class="nt">&lt;/Do&gt;</span>
3543
- <span class="nt">&lt;Do&gt;</span>
3544
- <span class="nt">&lt;Module&gt;</span>amps-action-do-enable-entitlement<span class="nt">&lt;/Module&gt;</span>
3545
- <span class="nt">&lt;/Do&gt;</span>
3546
- <span class="nt">&lt;/Action&gt;</span>
3547
- <span class="nt">&lt;/Actions&gt;</span>
3548
- </pre></div>
3549
- </div>
3550
- </div>
3551
- <div class="section" id="reset-entitlements-for-a-disconnected-client">
3552
- <h4>Reset Entitlements for a Disconnected Client<a class="headerlink" href="#reset-entitlements-for-a-disconnected-client" title="Permalink to this headline">¶</a></h4>
3553
- <p>The listing below resets entitlement cache for a user when a client with
3554
- that authentication ID is disconnected. This is a practical approach when
3555
- an application expects that each user will have a single connection to AMPS.</p>
3556
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;Actions&gt;</span>
3557
- <span class="nt">&lt;Action&gt;</span>
3558
- <span class="nt">&lt;On&gt;</span>
3559
- <span class="nt">&lt;Module&gt;</span>amps-action-on-disconnect-client<span class="nt">&lt;/Module&gt;</span>
3560
- <span class="nt">&lt;/On&gt;</span>
3561
- <span class="nt">&lt;Do&gt;</span>
3562
- <span class="nt">&lt;Module&gt;</span>amps-action-do-reset-entitlement<span class="nt">&lt;/Module&gt;</span>
3563
- <span class="nt">&lt;Options&gt;</span>
3564
- <span class="nt">&lt;AuthenticationId&gt;</span>{{AMPS_AUTHENTICATION_ID}}<span class="nt">&lt;/AuthenticationId&gt;</span>
3565
- <span class="nt">&lt;/Options&gt;</span>
3566
- <span class="nt">&lt;/Do&gt;</span>
3567
- <span class="nt">&lt;/Action&gt;</span>
3568
- <span class="nt">&lt;/Actions&gt;</span>
3569
- </pre></div>
3570
- </div>
3571
- </div>
3572
- <div class="section" id="extract-values-on-publish-of-a-message">
3573
- <h4>Extract Values on Publish of a Message<a class="headerlink" href="#extract-values-on-publish-of-a-message" title="Permalink to this headline">¶</a></h4>
3574
- <p>The listing below extracts values from a locally published xml message
3575
- and stores them into VALUE.</p>
3576
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;Actions&gt;</span>
3577
- <span class="nt">&lt;Action&gt;</span>
3578
- <span class="nt">&lt;On&gt;</span>
3579
- <span class="nt">&lt;Module&gt;</span>amps-action-on-publish-message<span class="nt">&lt;/Module&gt;</span>
3580
- <span class="nt">&lt;Options&gt;</span>
3581
- <span class="nt">&lt;Topic&gt;</span>message-sow<span class="nt">&lt;/Topic&gt;</span>
3582
- <span class="nt">&lt;MessageType&gt;</span>xml<span class="nt">&lt;/MessageType&gt;</span>
3583
- <span class="nt">&lt;MessageSource&gt;</span>local<span class="nt">&lt;/MessageSource&gt;</span>
3584
- <span class="nt">&lt;/Options&gt;</span>
3585
- <span class="nt">&lt;/On&gt;</span>
3586
- <span class="nt">&lt;Do&gt;</span>
3587
- <span class="nt">&lt;Module&gt;</span>amps-action-do-extract-values<span class="nt">&lt;/Module&gt;</span>
3588
- <span class="nt">&lt;Options&gt;</span>
3589
- <span class="nt">&lt;MessageType&gt;</span>xml<span class="nt">&lt;/MessageType&gt;</span>
3590
- <span class="nt">&lt;Data&gt;</span>{{AMPS_DATA}}<span class="nt">&lt;/Data&gt;</span>
3591
- <span class="nt">&lt;Value&gt;</span>VALUE = /VALUE<span class="nt">&lt;/Value&gt;</span>
3592
- <span class="nt">&lt;/Options&gt;</span>
3593
- <span class="nt">&lt;/Do&gt;</span>
3594
- <span class="nt">&lt;/Action&gt;</span>
3595
- <span class="nt">&lt;/Actions&gt;</span>
3596
- </pre></div>
3597
- </div>
3598
- </div>
3599
- <div class="section" id="increment-a-counter-and-echo-a-message-on-signal">
3600
- <h4>Increment a Counter and Echo a Message on Signal<a class="headerlink" href="#increment-a-counter-and-echo-a-message-on-signal" title="Permalink to this headline">¶</a></h4>
3601
- <p>The listing below increments a counter and echoes the counter&#8217;s value
3602
- when AMPS receives the <code class="docutils literal"><span class="pre">USR1</span></code> signal.</p>
3603
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;Actions&gt;</span>
3604
- <span class="nt">&lt;Action&gt;</span>
3605
- <span class="nt">&lt;On&gt;</span>
3606
- <span class="nt">&lt;Module&gt;</span>amps-action-on-signal<span class="nt">&lt;/Module&gt;</span>
3607
- <span class="nt">&lt;Options&gt;</span>
3608
- <span class="nt">&lt;Signal&gt;</span>SIGUSR1<span class="nt">&lt;/Signal&gt;</span>
3609
- <span class="nt">&lt;/Options&gt;</span>
3610
- <span class="nt">&lt;/On&gt;</span>
3611
- <span class="nt">&lt;Do&gt;</span>
3612
- <span class="nt">&lt;Module&gt;</span>amps-action-do-increment-counter<span class="nt">&lt;/Module&gt;</span>
3613
- <span class="nt">&lt;Options&gt;</span>
3614
- <span class="nt">&lt;Key&gt;</span>MY_COUNTER<span class="nt">&lt;/Key&gt;</span>
3615
- <span class="nt">&lt;Value&gt;</span>CURRENT_COUNTER_VALUE<span class="nt">&lt;/Value&gt;</span>
3616
- <span class="nt">&lt;/Options&gt;</span>
3617
- <span class="nt">&lt;/Do&gt;</span>
3618
- <span class="nt">&lt;Do&gt;</span>
3619
- <span class="nt">&lt;Module&gt;</span>amps-action-do-echo-message<span class="nt">&lt;/Module&gt;</span>
3620
- <span class="nt">&lt;Options&gt;</span>
3621
- <span class="nt">&lt;Message&gt;</span>AMPS has gotten {{CURRENT_COUNTER_VALUE}}
3622
- SIGUSR1 signals.<span class="nt">&lt;/Message&gt;</span>
3623
- <span class="nt">&lt;/Options&gt;</span>
3624
- <span class="nt">&lt;/Do&gt;</span>
3625
- <span class="nt">&lt;/Action&gt;</span>
3626
- <span class="nt">&lt;/Actions&gt;</span>
3627
- </pre></div>
3628
- </div>
3629
- </div>
3630
- <div class="section" id="recording-expired-queue-messages-in-a-dead-letter-topic">
3631
- <h4>Recording Expired Queue Messages in a Dead Letter Topic<a class="headerlink" href="#recording-expired-queue-messages-in-a-dead-letter-topic" title="Permalink to this headline">¶</a></h4>
3632
- <p>The listing below detects when a message expires from a queue, and publishes those
3633
- messages to a dead letter topic.</p>
3634
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;Actions&gt;</span>
3635
- <span class="nt">&lt;Action&gt;</span>
3636
- <span class="nt">&lt;On&gt;</span>
3637
- <span class="nt">&lt;Module&gt;</span>amps-action-on-sow-expire-message<span class="nt">&lt;/Module&gt;</span>
3638
- <span class="nt">&lt;Options&gt;</span>
3639
- <span class="nt">&lt;Topic&gt;</span>interesting-queue<span class="nt">&lt;/Topic&gt;</span>
3640
- <span class="nt">&lt;MessageType&gt;</span>json<span class="nt">&lt;/MessageType&gt;</span>
3641
- <span class="nt">&lt;/Options&gt;</span>
3642
- <span class="nt">&lt;/On&gt;</span>
3643
- <span class="nt">&lt;On&gt;</span>
3644
- <span class="nt">&lt;Module&gt;</span>amps-action-on-sow-expire-message<span class="nt">&lt;/Module&gt;</span>
3645
- <span class="nt">&lt;Options&gt;</span>
3646
- <span class="nt">&lt;Topic&gt;</span>another-interesting-queue<span class="nt">&lt;/Topic&gt;</span>
3647
- <span class="nt">&lt;MessageType&gt;</span>json<span class="nt">&lt;/MessageType&gt;</span>
3648
- <span class="nt">&lt;/Options&gt;</span>
3649
- <span class="nt">&lt;/On&gt;</span>
3650
- <span class="nt">&lt;Do&gt;</span>
3651
- <span class="nt">&lt;Module&gt;</span>amps-action-do-publish-message<span class="nt">&lt;/Module&gt;</span>
3652
- <span class="nt">&lt;Options&gt;</span>
3653
- <span class="nt">&lt;Topic&gt;</span>dead-letter<span class="nt">&lt;/Topic&gt;</span>
3654
- <span class="nt">&lt;MessageType&gt;</span>json<span class="nt">&lt;/MessageType&gt;</span>
3655
- <span class="nt">&lt;Data&gt;</span>{&quot;topic&quot;:&quot;{{AMPS_TOPIC}}&quot;,&quot;message&quot;:{{AMPS_DATA}} }<span class="nt">&lt;/Data&gt;</span>
3656
- <span class="nt">&lt;/Options&gt;</span>
3657
- <span class="nt">&lt;/Do&gt;</span>
3658
- <span class="nt">&lt;/Action&gt;</span>
3659
- <span class="nt">&lt;/Actions&gt;</span>
3660
- </pre></div>
3661
- </div>
3662
- </div>
3663
- <div class="section" id="copy-a-message-to-a-different-topic-when-a-timeout-is-exceeded">
3664
- <h4>Copy a Message to a Different Topic When a Timeout is Exceeded<a class="headerlink" href="#copy-a-message-to-a-different-topic-when-a-timeout-is-exceeded" title="Permalink to this headline">¶</a></h4>
3665
- <p>The listing below, in effect, copies messages from the <code class="docutils literal"><span class="pre">Orders</span></code> topic
3666
- to the <code class="docutils literal"><span class="pre">Orders_Stale</span></code> topic when the status has been <code class="docutils literal"><span class="pre">PENDING</span></code> for
3667
- more than 5 seconds.</p>
3668
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;Actions&gt;</span>
3669
- <span class="nt">&lt;Action&gt;</span>
3670
- <span class="nt">&lt;On&gt;</span>
3671
- <span class="nt">&lt;Module&gt;</span>amps-action-on-message-condition-timeout<span class="nt">&lt;/Module&gt;</span>
3672
- <span class="nt">&lt;Options&gt;</span>
3673
- <span class="nt">&lt;MessageType&gt;</span>nvfix<span class="nt">&lt;/MessageType&gt;</span>
3674
- <span class="nt">&lt;Topic&gt;</span>Orders<span class="nt">&lt;/Topic&gt;</span>
3675
- <span class="nt">&lt;Filter&gt;</span>/status = &#39;PENDING&#39;<span class="nt">&lt;/Filter&gt;</span>
3676
- <span class="nt">&lt;Duration&gt;</span>5s<span class="nt">&lt;/Duration&gt;</span>
3677
- <span class="nt">&lt;/Options&gt;</span>
3678
- <span class="nt">&lt;/On&gt;</span>
3679
- <span class="nt">&lt;Do&gt;</span>
3680
- <span class="nt">&lt;Module&gt;</span>amps-action-do-publish-message<span class="nt">&lt;/Module&gt;</span>
3681
- <span class="nt">&lt;Options&gt;</span>
3682
- <span class="nt">&lt;MessageType&gt;</span>nvfix<span class="nt">&lt;/MessageType&gt;</span>
3683
- <span class="nt">&lt;Topic&gt;</span>Orders_Stale<span class="nt">&lt;/Topic&gt;</span>
3684
- <span class="nt">&lt;Data&gt;</span>{{AMPS_DATA}}<span class="nt">&lt;/Data&gt;</span>
3685
- <span class="nt">&lt;/Options&gt;</span>
3686
- <span class="nt">&lt;/Do&gt;</span>
3687
- <span class="nt">&lt;/Action&gt;</span>
3688
- <span class="nt">&lt;/Actions&gt;</span>
3689
- </pre></div>
3690
- </div>
3691
- </div>
3692
- <div class="section" id="shutting-down-amps-when-filesystem-fills">
3693
- <h4>Shutting Down AMPS When Filesystem Fills<a class="headerlink" href="#shutting-down-amps-when-filesystem-fills" title="Permalink to this headline">¶</a></h4>
3694
- <p>The listing below directs AMPS to perform a graceful shutdown when the
3695
- filesystem becomes full, with a check run every 3 seconds.</p>
3696
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;Actions&gt;</span>
3697
- <span class="nt">&lt;Action&gt;</span>
3698
- <span class="nt">&lt;On&gt;</span>
3699
- <span class="nt">&lt;Module&gt;</span>amps-action-on-schedule<span class="nt">&lt;/Module&gt;</span>
3700
- <span class="nt">&lt;Options&gt;</span>
3701
- <span class="nt">&lt;Every&gt;</span>3s<span class="nt">&lt;/Every&gt;</span>
3702
- <span class="nt">&lt;/Options&gt;</span>
3703
- <span class="nt">&lt;/On&gt;</span>
3704
- <span class="nt">&lt;If&gt;</span>
3705
- <span class="nt">&lt;Module&gt;</span>amps-action-if-file-system-usage<span class="nt">&lt;/Module&gt;</span>
3706
- <span class="nt">&lt;Options&gt;</span>
3707
- <span class="nt">&lt;Path&gt;</span>./<span class="nt">&lt;/Path&gt;</span>
3708
- <span class="nt">&lt;GreaterThan&gt;</span>99%<span class="nt">&lt;/GreaterThan&gt;</span>
3709
- <span class="nt">&lt;/Options&gt;</span>
3710
- <span class="nt">&lt;/If&gt;</span>
3711
- <span class="nt">&lt;Do&gt;</span>
3712
- <span class="nt">&lt;Module&gt;</span>amps-action-do-shutdown<span class="nt">&lt;/Module&gt;</span>
3713
- <span class="nt">&lt;/Do&gt;</span>
3714
- <span class="nt">&lt;/Action&gt;</span>
3715
- <span class="nt">&lt;/Actions&gt;</span>
3716
- </pre></div>
3717
- </div>
3718
- </div>
3719
- <div class="section" id="archive-transaction-log-journal-files-older-than-a-specified-age-in-response-to-admin-request">
3720
- <span id="admin-action-example-archive"></span><h4>Archive Transaction Log Journal Files Older Than a Specified Age in Response to Admin Request<a class="headerlink" href="#archive-transaction-log-journal-files-older-than-a-specified-age-in-response-to-admin-request" title="Permalink to this headline">¶</a></h4>
3721
- <p>The listing below directs AMPS to archive journals when a query is made to the
3722
- <code class="docutils literal"><span class="pre">/amps/administrator/actions/archive_journals</span></code> resource. The request
3723
- must include an <code class="docutils literal"><span class="pre">AGE</span></code> query parameter. When the request is submitted, AMPS
3724
- will mark journals older than the specified age for archival.</p>
3725
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;Actions&gt;</span>
3726
- <span class="nt">&lt;Action&gt;</span>
3727
- <span class="nt">&lt;On&gt;</span>
3728
- <span class="nt">&lt;Module&gt;</span>amps-action-on-admin<span class="nt">&lt;/Module&gt;</span>
3729
- <span class="nt">&lt;Options&gt;</span>
3730
- <span class="nt">&lt;Path&gt;</span>archive_journals<span class="nt">&lt;/Path&gt;</span>
3731
- <span class="nt">&lt;RequiredParameter&gt;</span>AGE<span class="nt">&lt;/RequiredParameter&gt;</span>
3732
- <span class="nt">&lt;Name&gt;</span>Archive Journals<span class="nt">&lt;/Name&gt;</span>
3733
- <span class="nt">&lt;/Options&gt;</span>
3734
- <span class="nt">&lt;/On&gt;</span>
3735
- <span class="nt">&lt;Do&gt;</span>
3736
- <span class="nt">&lt;Module&gt;</span>amps-action-do-archive-journal<span class="nt">&lt;/Module&gt;</span>
3737
- <span class="nt">&lt;Options&gt;</span>
3738
- <span class="nt">&lt;Age&gt;</span>{{AGE}}<span class="nt">&lt;/Age&gt;</span>
3739
- <span class="nt">&lt;/Options&gt;</span>
3740
- <span class="nt">&lt;/Do&gt;</span>
3741
- <span class="nt">&lt;/Action&gt;</span>
3742
- <span class="nt">&lt;/Actions&gt;</span>
3743
- </pre></div>
3744
- </div>
3745
- <p>The <code class="docutils literal"><span class="pre">On</span></code> configuration for this action specifies that the action will run when
3746
- a request is made to the <code class="docutils literal"><span class="pre">/amps/administrator/actions/archive_journals</span></code> resource,
3747
- and that the request must contain an <code class="docutils literal"><span class="pre">AGE</span></code> query parameter. When the request
3748
- runs, the <code class="docutils literal"><span class="pre">AGE</span></code> parameter is added to the context for the action.</p>
3749
- <p>The <code class="docutils literal"><span class="pre">Do</span></code> configuration for this action runs the <code class="docutils literal"><span class="pre">amps-action-do-archive-journal</span></code>
3750
- module, and fills in the value of the <code class="docutils literal"><span class="pre">AGE</span></code> parameter provided by the
3751
- HTTP request.</p>
3752
- <p>If the <code class="docutils literal"><span class="pre">AGE</span></code> parameter is missing, the <code class="docutils literal"><span class="pre">amps-action-on-admin</span></code> module will
3753
- refuse the request.</p>
3754
- <p>If the <code class="docutils literal"><span class="pre">AGE</span></code> parameter is not a valid interval (for
3755
- example, if someone provided the string <code class="docutils literal"><span class="pre">&quot;LastThursday&quot;</span></code> instead of a
3756
- valid AMPS interval like <code class="docutils literal"><span class="pre">48h</span></code>), the <code class="docutils literal"><span class="pre">amps-action-do-archive-journal</span></code>
3757
- module will log an error and refuse to run the request.</p>
3758
- </div>
3759
- </div>
3760
- </div>
3761
- </div>
3762
-
3763
-
3764
- </div>
3765
- </div>
3766
- </div>
3767
- <div class="clearer"></div>
3768
- </div>
3769
- <div class="footer">
3770
- &copy;2023 60East Technologies, Inc. (version develop).
3771
-
3772
- |
3773
- Powered by <a href="http://sphinx-doc.org/">Sphinx 1.5.3</a>
3774
- &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
3775
-
3776
- </div>
3777
-
3778
-
3779
-
3780
-
3781
- </body>
3782
- </html>