VALEO: an enhanced "open_port/2"

Younes Hafri
Web Archiving Expert, High-Performance and Low-Latency Computing Specialist, C/Erlang Guru

Valeo is an Erlang behaviour that allows its users to monitor and control external programs on Windows and UNIX-like operating systems.

Erlang is a powerful language with a robust Virtual Machine, but it can’t solve all the problems.

A developer should always remember to use the right tool for the right job and Valeo lets you do that.

With it, you can delegate the heavy work for some external programs without sacrificing the fault tolerance of your OTP application.

Valeo is a drop-in replacement for the Erlang open_port/2.

Whenever you are tempted to call open_call in your program, use Valeo instead.

It provides simple monitoring primitives to manage and monitor externals programs (written in Erlang or not).

Valeo ensures the programs under control behaves correctly (ex. the external program terminates when the port terminates,

is restarted if needed, etc.).

As a side node, Valeo embraces the OTP principles and integrates naturally into supervision trees allowing to implement restart strategies and the like for external programs.

Valeo has been tested and is known to run on Windows, Linux, and Mac OS X ... 32/64-bit.

It will likely work fine on most UNIX systems too.

Immediate benefits for your programs are:

- Proactive process monitoring

- Reliable control of the external programs under supervision

- Ensure external programs termination in any case

- OTP way to communicate with external programs

Talk objectives

- Make your external programs more robust, even the "Erlang VM" itself.

- Recover them from crashes and run specific actions in case of errors

Target audience

Anyone that care about getting the job done right when dealing with external programs.


CTO and Founder at Aleph Archives(Switzerland) - High-Performance and Low-Latency Computing Specialist, C / Erlang Guru.

Dr. Younès Hafri worked for the past 10 years on several Web Archiving projects worldwide includingDLWeb, IIPC, Internet Archive,WWWoH (JISC), WARC-Tools,LiWA (European project), etc.

After different positions at theNational Library of France (BnF),National Audiovisual Institute(INA), Internet Memory Foundation (formerly European Archive), Hanzo... he noticed a maket's need for an enterprise-grade Web Archiving solution.

In 2009, he began working with his team on a new Cloud-based Web Archiving solution with a focus onarchives quality: the CAMA®platform was born.

Mid-2012, he launched the Web Archiving Bucket, an open initiative for national libraries and organizations to preserve Web data with free-to-use, production-ready archiving tools.

Prior to that, he received a Master's Degree from the Ecole Centrale de Nantes and a Ph.D. in computer science from the Ecole Polytechniques de Nantes.

Back to conference page