Hello all,

I'm glad to let you know that a new feature is now available in OpenSIPS 2.1 devel : the ability to perform, from script level, various operations in the *asynchronous* mode.

That's it: bye, bye I/O blocking !! Now you can run DB queries, REST queries or external scripts without the blocking penalty !

The OpenSIPS config file allows you to use certain functions in async way (via a dedicated statement). The suspending and resuming is done at script level. A detailed description of how the async support works in 2.1 is available here:
    http://www.opensips.org/Documentation/Script-Async-2-1

The async scripting support is just the tip of the iceberg (when comes to the work which has been done). To make this possible, radical changes were implemented in OpenSIPS 2.1 (most of them imported from OpenSIPS experimental branch):
    - per-process I/O reactors
- timer jobs dispatched across all SIP workers (versus dedicated timer procs) - updatable transactions in TM (to be able to use the transactions as contexts for the async jump)
    - transaction based async support in TM module
- processing context (to make it easier to suspend and resume the script execution)

And finally, the first modules providing async functions:
    - avpops for DB queries
    - exec for script execution
    - rest_client for REST queries

Step by step, we will migrate all the functions performing I/O ops to the async support.

The async support is still in beta, it still needs to be heavily tested, so any feedback and help from your side will be greatly appreciated.

In the meanwhile, welcome to the OpenSIPS Async World :)

Best regards,

--
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

_______________________________________________
Devel mailing list
Devel@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel

Reply via email to