Monkey HTTP Daemon v0.11.0 has been released

Monkey HTTP Daemon is a very Fast and Lightweight Web Server for Linux. It has been designed to be very scalable with low memory and CPU consumption, the perfect solution for embedded and high production environments.

The project was started in 2001, internally it used to work with forking and threading networking models to attend clients, now, our current branch 0.11 is the second major milestone, we have a new web server working in asynchronous mode, fixed threads, stable API, indented configuration mode and with an excellent performance.

What is new ?

  • Indented Configuration mode
  • Cheetah! Plugin: New ‘config’ command
  • New MaxRequestSize configuration variable
  • Plugin API Interface improved: new functions available
  • Add RPM spec file (Welcome Fedora!)
  • Palm Server
  • Palm Plugin
  • Liana Plugin: Base networking plugin interface
  • Logger Plugin: the logger has been dropped from the core and moved to a plugin
  • Dirlisting Plugin: Allows to list the content of a directory in HTML format
  • Performance improvements
  • Minor fixes

Contributors

We would like to thanks to the following person who have been involved doing code and bug fixes contributions on this release:

Also thanks for take some time to help the project being sysadmin and maintaining our new server.

Join us!

We want to hear about you, our community is growing and you can be part of it!, you can met us in:

  • Mailing list: http://lists.monkey-project.com
  • IRC: irc.freenode.net #monkeyd
  • Save Python objects to disk

    Doing some hacks yesterday i found a way to save any Python object to a disk file. Let’s suppose that you have created your own class with some data and you want to save that class to disk and load it later (or even sent the object through a socket :P), you can do it with the ‘pickle’ core module.

    import pickle

    class Test:

        def __init__(self):

            self.data = [‘a’, ‘b’, ‘c’]

    # Instance object

    t = Test()

    # Open file

    f = open(‘myobject.dat’, ‘w’)

    # Dump data on it

    pickle.dump(t, f)

    # Close file descriptor

    f.close()

    Now let’s load the object and print the class data information:

    import pickle

    # Open object container file

    f = open(‘myobject.dat’, ‘r’)

    # Load object information

    test_class = pickle.load(f)

    # Print class data information

    print test_class.data

    A very useful module, also exists a C implementation of Pickle called cPickle which is faster, give it a try!