Escribiendo un port de Erlang

Resulta que este cuatrimestre ha habido una asignatura cuya práctica se ha desarrollado en Erlang, un lenguaje funcional que favorece la programación concurrente y la comunicación de los procesos usando paso de mensajes. El resultado de la práctica es un crawler donde cada dominio tiene asignado un “hilo” que tendrá que hacer las peticiones al servidor web, más otro que se encargará de descargar imágenes e indexarlas utilizando pHash, el programa se compone de más partes pero ahora nos centraremos en esto.

(Por cierto, el proyecto se ha desarrollado en abierto, tenéis el código en su repositorio de GitHub, EPC).

Al principio cada hilo simplemente hacía una llamada a httpc:request, que es continue.

Writting an Erlang port

This quarter we had an subject with a an assignment to be developed in Erlang, a functional language which oriented to concurrent pro­gram­ming and in­ter­process com­mu­ni­ca­tion through message passing. The result is a crawler where each domain has an assigned “thread” which has to make the requests to the web server, plus another one to download the images and index them using pHash, the program is composed of more parts but now we'll center in this.

(By the way, the project has been developed on the open, the code is available at it's GitHub repository, EPC).

At the beggining each thread simply made a call httpc:request, which is the way that continue.