Event Notification Scripts

Event Notification Scripts

In addition to its plugin API, Centova Cast includes a mechanism by which user-defined scripts can automatically be invoked whenever Centova Cast performs one of a set of specific actions.

Disclaimer

Please note that this event script capability is provided as a courtesy to our clients, and Centova Technologies cannot provide technical support related to the use of these scripts to perform external tasks.

Getting Started

For security and performance reasons, support for event notification scripts is disabled by default. You must enable the EVENT_SCRIPTS setting in /usr/local/centovacast/etc/centovacast.conf before the event notification scripts will be invoked by Centova Cast.

Important Notes

  • For performance reasons, Centova Cast caches the list of event notification scripts the first time an event is triggered. As such, if you add a new event notification script after starting Centova Cast, it will not immediately be recognized by Centova Cast. To force Centova Cast to update its cache, simply restart Centova Cast (on the web interface server) by running /etc/init.d/centovacast restart, or clear the cache (on the web interface server) by running /usr/local/centovacast/sbin/clear_web_cache, or wait 24hr for the cache to expire.

  • Event notification scripts will be executed on the stream hosting server on which the relevant account is hosted, which may not (necessarily) be the same server that hosts your Centova Cast web interface.

  • Event notification scripts will be executed under the user ID of the Centova Cast daemon account, which is ccuser by default. As such, the scripts will have access to the stream accounts' configuration files and media, but will NOT have root privileges.

  • Scripts that allow a return value MUST output "1" or "0" to indicate whether or not Centova Cast may proceed with the operation. If the last line generated by your script is anything other than 1, Centova Cast will abort with an error. If the last line of output generated by your script is a text string, it will be displayed as part of the error message in Centova Cast.

  • Note that when implementing code for "pre-" events, there is no guarantee that the operation that is about to be performed will succeed. You should use "pre-" events only for the purposes of (potentially) aborting the operation. Any code which depends on the successful completion of the operation (such as account provisioning code, etc.) should be triggered by the "post-" version of each event.

  • Centova Cast will by default wait up to 30 seconds for an event notification script to finish. If the script does not finish in this period of time, it will be terminated by Centova Cast. Remember that in most cases, a user will be waiting for a page to load in the web interface while the event notification script is running, so it's important that the script completes quickly. The time limit can be changed by adding an EVENT_SCRIPT_TIMEOUT=30 line to /usr/local/centovacast/etc/centovacast.conf, replacing 30 with the desired timeout.