So I've had a few helpful emails, but unfortunately I'm about to write my own erlang HTTP server to call my erlang M/R functions because even examples from the contrib section of the wiki just don't work.
My last plea for help before we look at writing a replacement for Riak's REST API: a. Any documentation that shows how to properly deploy your erlang code with the riak cluster (I'm currently writing a module, storing it with riak_core, adding it to riak_core.app, and it's building fine, can call it from riak console.) b. The correct way to call an erlang function from the REST api or via Ripple, specifically we are using the output of a Javascript Map to an Erlang Reduce (If this is not supported, please let us know!) Thanks in advance, Sylvain Niles On Fri, May 27, 2011 at 12:16 PM, Sylvain Niles <sylvain.ni...@gmail.com> wrote: > Still looking for advice on this, additionally I'm looking for the > correct way to call the erlang modules from Ripple. I've tried calling > it from a reduce like so: > > reduced = > Riak::MapReduce.new(Ripple.client).add(a-bucket').map("function(v){return > [[v.values[0].data], [v.bucket, v.key]];}", :keep => > true).reduce(["my_module","my_function"], :keep => true).run > > and I can see that it never gets called, just returns []. > > I can call the module while attached to a Riak console in the cluster > and it works exactly as expected given the exact output of the > previous map: [["value"], ["bucket", "key"]] > > Any pointers would be greatly appreciated! If there's any open source > code out there using ripple in this fashion I'd love a pointer! > > Thanks, > -Sylvain > > On Tue, May 24, 2011 at 6:55 PM, Sylvain Niles <sylvain.ni...@gmail.com> > wrote: >> So I've seen a few well written examples of erlang map or reduce >> functions in the contrib section of the wiki/github but the missing >> piece of glue for me is: Where do I compile from? I've done a lot of >> ejabberd development and generally I just throw it in the src >> directory, add a config param to the ejabberd.conf to load my new >> module at startup, make install, and I'm done. Should I be deploying >> my modules to /deps/riak_core/src/? >> >> The wiki has this note: >> >> Distributing Erlang MapReduce Code >> >> Any modules and functions you use in your Erlang MapReduce calls must >> be available on all nodes in the cluster. You can add them in Erlang >> applications by specifying the -pz option in vm.args or by adding the >> path to the add_paths setting in app.config. >> >> But the vm.args page does not list the valid config format/options for >> the -pz option. Is the add_paths behavior such that a valid beam in >> that dir will automatically be loaded on startup and all exported >> functions available? What about live code updates of internally >> developed modules? >> >> Thanks in advance! >> >> -Sylvain >> > _______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com