I'm sorry I must have misunderstood, the way I am sending the events
is through a PHP script similar to the one that I found on APE's
website that does a single POST:
<?php
$c=0;
while($c <= 5) {
$APEserver = 'http://mydomain:6969/?';
$APEPassword = 'mypasswd';
$messages = array(
'Test Message',
'test2',
'test3',
);
$cmd = array(array(
'cmd' => 'inlinepush',
'params' => array(
'password' => $APEPassword,
'raw' => 'DATA',
'channel' => 'mychannelname',
'data' => array( //Note: data can't be a string
'message' => $messages[array_rand($messages)]
)
)
));
echo "<br><br>".json_encode($cmd)."<br><br>";
var_dump($APEserver.rawurlencode(json_encode($cmd)));
$data =
file_get_contents($APEserver.rawurlencode(json_encode($cmd)));
$data = json_decode($data, TRUE);
if ($data[0]->data->value == 'ok') {
echo 'Message sent!';
} else {
//echo 'Error sending message, server response is : <pre>'.
print_r($data);
echo '</pre>';
}
$c++;
}
?>
This is the page that tells me "ok" sending the message until the
server reaches 1.9% and then it returns BAD_PARAMS, the listening page
doesn't seem aware of any problems.
Thank you, regards,
Doug
On Mar 31, 2:51 pm, Anthony Catel <[email protected]> wrote:
> So, If I understand correctly, at the begening everything works fine and
> sudently stop working with a "BAD_PARAMS".
> You don't have any server-side script?
>
> Le 31/03/2011 22:05, Doug a crit :
>
>
>
>
>
>
>
> > Hi Anthony,
>
> > Thanks for the response, I am testing with 4 concurrent users.
>
> > I am working with a Fedora, Amazon Linux AMI, EC2 instance, here's
> > some specs:
>
> > Small Instance default*
> > 1.7 GB memory
> > 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit)
> > 160 GB instance storage
> > 32-bit platform
> > I/O Performance: Moderate
> > API name: m1.small
>
> > I have added a function that wraps the APE.Client(); code (I only run
> > startRT() from the listener page):
>
> > function startRT(channel, callback) {
> > var client = new APE.Client();
> > client.load();
> > client.addEvent('load', function() {
> > client.core.start();
> > });
> > client.addEvent('ready', function() {
> > myJoin(client , channel);
> > client.onRaw('data', function(raw, pipe) {
> > callback(raw.data);
> > });
> > });
> > return client;
> > }
>
> > function myJoin(client, channel) {
>
> > if(isArray(channel) == false) {
> > channel = removeNonAlphas(channel);
> > client.core.join(channel);
> > }
> > else {
> > for (var i in channel) {
> > channel[i] = removeNonAlphas(channel[i]);
> > }
> > client.core.join(channel);
> > }
> > var channelpipe = channel.toLowerCase();
> > }
>
> > function removeNonAlphas(channel){
> > channel = channel.replace(/[^a-zA-Z 0-9]+/g,'');
> > return channel;
> > }
>
> > function isArray(obj) {
> > if (obj.constructor.toString().indexOf("Array") == -1)
> > return false;
> > else
> > return true;
> > }
>
> > Thank you!
>
> > On Mar 31, 11:51 am, Anthony Catel<[email protected]> wrote:
> >> Hi doog,
>
> >> You don't have any custom server-side javascript?
>
> >> How many concurent users do you have?
> >> What is your CPU architecture?
>
> >> Thanks
>
> >> Le 31/03/2011 19:18, Doug a crit :
>
> >>> I've been experimenting with the new APE 1.1.0, and it appears that it
> >>> works until memory consumption of the aped process reaches 1.9% and
> >>> then whenever I attempt to post some data I get
> >>> Array ( [time] => 1301590992 [raw] => ERR [data] => Array (
> >>> [code] =>
> >>> 001 [value] => BAD_PARAMS ) ) )
> >>> I can open a channel and I see this in ape.log:
> >>> 2011-03-30 15:58:21 - src/users.c:180 - New user - (ip : 2.my.ip.69)
> >>> So it appears to recognize that somebody has joined the channel and is
> >>> listening. Also, the page I have set up that listens to the channel
> >>> sends no errors, it includes the js file and its allocated a numbered
> >>> subdomain like it should (4.mydomain.com, for example).
> >>> My main.ape.js looks like this:
> >>> Ape.addEvent("init", function() {
> >>> include("framework/mootools.js");
> >>> include("framework/Http.js");
> >>> //include("framework/userslist.js");
> >>> include("utils/utils.js");
> >>> include("commands/proxy.js");
> >>> include("commands/inlinepush.js");
> >>> //include("examples/nickname.js");
> >>> //include("examples/move.js");
> >>> //include("utils/checkTool.js"); //Just needed for the APE JSF
> >>> diagnostic tool, once APE is installed you can remove it
> >>> //include("examples/ircserver.js");
> >>> //include("framework/http_auth.js");
> >>> });
> >>> I've commented out some stuff that I didn't think I needed. This
> >>> configuration works on an earlier installation (1.01a I believe). The
> >>> problem with the earlier version is memory consumption, but it seems
> >>> to happen at a higher percentage (round about 15-20%).
> >>> I have tried using the older JSF and the newest one I could find on
> >>> github, behavior appears to be identical.
> >>> I have fixed the older installation by running a cronjob every 6 hours
> >>> to restart the ape process.
> >>> Any advice or suggestions would be a huge help, thank you!
--
You received this message because you are subscribed to the Google
Groups "APE Project" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/ape-project?hl=en
---
APE Project (Ajax Push Engine)
Official website : http://www.ape-project.org/
Git Hub : http://github.com/APE-Project/