Skip to content

Commit

Permalink
Add roadmap details for SimpleRPC Agents
Browse files Browse the repository at this point in the history
Signed-off-by: R.I.Pienaar <rip@devco.net>
  • Loading branch information
ripienaar authored and The Marionette Collective committed Sep 12, 2010
1 parent fac0c2e commit 04983e2
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 0 deletions.
1 change: 1 addition & 0 deletions website/_includes/roadmap_sidebar.html
Expand Up @@ -4,5 +4,6 @@ <h3>Roadmap</h3>
<li><a href="/roadmap/thread_management.html">Thread Management</a></li>
<li><a href="/roadmap/actions_in_other_languages.html">Other Languages</a></li>
<li><a href="/roadmap/queueing_and_scheduling.html">Queuing</a></li>
<li><a href="/roadmap/simplerpc_agents.html">SimpleRPC Agents</a></li>
</ul>

40 changes: 40 additions & 0 deletions website/roadmap/simplerpc_agents.md
@@ -0,0 +1,40 @@
---
layout: mcollective
title: SimpleRPC Agents
disqus: true
---

# {{page.title}}

| | |
|--------------------|---------|
|Target release cycle|**1.0.x**|

## Overview
We want to make writing SimpleRPC agents even easier, there's a lot of unneeded boiler place in the agent, it should
look more like the DDL. This will mean a new plugin directory must exist but the agents should just be file like
this:

{% highlight ruby %}
metadata :name => "Echo Agent",
:description => "Simple Echo Agent",
:author => "Me",
:license => "Apache v.2",
:version => "1.0",
:url => "http://www.devco.net/",
:timeout => 2

action "echo" do
validate :msg, String

reply.fail! "Boom!" if rand(10) % 2 == 0

reply[:msg] = request[:msg]
reply[:time] = Time.now.to_s
end
{% endhighlight %}

They'd go in _plugindir/rpcagents_ and at startup something should load them all up like it would normal agents.

We'd need to make some kind of hook into the runner for this, it might be worth making that hook an extendable
system so other frameworks can plug into the main and have their startups executed.

0 comments on commit 04983e2

Please sign in to comment.