[erlang-questions] Mnesia best practices

Dana.RUBINO <>
Thu Sep 25 11:46:51 CEST 2008

Thanks a lot guys - this has been a great help.

I will certainly be looking into Jabber!


From:  [mailto:] On Behalf Of Edwin Fine
Sent: 24 September 2008 18:14
Cc: ; 
Subject: Re: [erlang-questions] Mnesia best practices


I shamelessly use techniques that I learn from reading the code for ejabberd. Even if to some learned Erlangistas it may not be the ne plus ultra of Erlang code, to me it's got a lot of things in it to which I say, "I didn't know you could do that!". Sometimes I struggle to figure out how to do something, being fairly new to Erlang/OTP myself, and I ask, WWJD (What Would Jabber Do?) and more often than not, there is an answer. You could do a lot worse than taking a look at its organization and techniques. It helps that it's a stable, real-world application that's in widespread production.


Of course, ejabberd is not the only interesting Erlang application out there from which to cherry-pick idioms and techniques, it's just the first one I really looked into deeply. There are many others that are well done or cleverly done (and sometimes both), like RabbitMQ.

Hope this helps.

Edwin Fine

On Wed, Sep 24, 2008 at 10:56 AM, <<mailto:>> wrote:
Hi Mazen,

Can you be more specific please? I have had a look at the OTP Design principles i.e. release handling as suggested.

Although it mentions target systems and building a release (.rel which looks good) it doesn't specify how I might specify the working Mnesia instance which I also want starting?

Any ideas?


-----Original Message-----
From: Mazen Harake [mailto:<mailto:>]
Sent: 24 September 2008 15:30
Cc: <mailto:>
Subject: Re: [erlang-questions] Mnesia best practices

Use targets systems that conform to OTP release handling and and this sort of things come to you for free... you don't need to start Mnesia from your application.


<mailto:> wrote:
> Hi all,
> Anyone know the prescribed way for ensuring an Mnesia DB is up and
> running (if not then start it) when starting up an erlang application?
> I would ideally like a process which is in charge of starting Mnesia
> and monitoring it to ensure it has not gone down?
> Should I just use a supervisor for this?
> Thanks,
> Dan
> **********************************************************************
> ************* The Royal Bank of Scotland plc. Registered in Scotland
> No 90312. Registered Office: 36 St Andrew Square, Edinburgh EH2 2YB.
> Authorised and regulated by the Financial Services Authority
> This e-mail message is confidential and for use by the addressee only.
> If the message is received by anyone other than the addressee, please
> return the message to the sender by replying to it and then delete the
> message from your computer. Internet e-mails are not necessarily
> secure. The Royal Bank of Scotland plc does not accept responsibility
> for changes made to this message after it was sent.
> Whilst all reasonable care has been taken to avoid the transmission of
> viruses, it is the responsibility of the recipient to ensure that the
> onward transmission, opening or use of this message and any
> attachments will not adversely affect its systems or data. No
> responsibility is accepted by The Royal Bank of Scotland plc in this
> regard and the recipient should carry out such virus and other checks
> as it considers appropriate.
> Visit our websites at:
> www.rbs.com<http://www.rbs.com>
> www.rbs.com/gbm<http://www.rbs.com/gbm>
> www.rbsgc.com<http://www.rbsgc.com>
> **********************************************************************
> *************
> ----------------------------------------------------------------------
> --
> _______________________________________________
> erlang-questions mailing list
> <mailto:>
> http://www.erlang.org/mailman/listinfo/erlang-questions

erlang-questions mailing list

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20080925/3e187adb/attachment.html>

More information about the erlang-questions mailing list