[OSM-Devserver] Kommunikation mit Tirex-Master

Peter Körner osm-lists at mazdermind.de
Mo Mär 28 17:50:21 CEST 2011


Am 28.03.2011 16:59, schrieb Jochen Topf:
> On Mon, Mar 28, 2011 at 04:41:48PM +0200, Peter Körner wrote:
>> was ist der vorgesehene Weg für eine externe Anwendung, Requests an
>> den Tirex-Master zur Bearbeitung zu senden?
>>   - Über den Unix-Socket /var/run/tirex/master.sock
>
> Ja. Siehe tirex-batch und tirex-send, wie das zu machen ist.

Ist es überhaupt möglich, über den dgram-Socket eine Render-Anforderung 
zu senden und eine Antwort zu bekommen, wenn das Tile fertig ist?

Wenn ich eine Nachricht mit id an den Master schicke, schmiert dieser 
mit der Meldung "send: Cannot determine peer address at 
/usr/share/perl5/Tirex/Source/Command.pm line 166" ab.

Beispielprogramm in nodejs:

var dgram = require('dgram');

var message = new Buffer(serialize_tirex_msg({
	id:   'foo',
	type: 'metatile_enqueue_request',
	prio: 10,
	map:  'test',
	x:    0,
	y:    0,
	z:    0
}));

var client = dgram.createSocket('unix_dgram', function(buf, rinfo)
{
	console.log('incoming');
});

//client.bind('/var/run/tirex/master.sock');
client.send(message, 0, message.length, '/var/run/tirex/master.sock', 
function()
{
	console.log('msg sent');
});