tileblaster 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/config.dist.js CHANGED
@@ -3,7 +3,7 @@ const config = module.exports = {
3
3
 
4
4
  id: "tileblaster", // id of the tileblaster instance, in case you want to run more than one; default: tileblaster
5
5
 
6
- treads: 1, // number of worker threads in cluster, default: 1
6
+ threads: 1, // number of worker threads in cluster, default: 1
7
7
  queue: 10, // number of parallel tile processes per worker, default: 12
8
8
 
9
9
  server: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tileblaster",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "a quick and versatile map tile caching proxy",
5
5
  "main": "tileblaster.js",
6
6
  "bin": {
package/readme.md CHANGED
@@ -70,8 +70,8 @@ server {
70
70
  proxy_set_header Accept-Encoding $http_accept_encoding;
71
71
  proxy_set_header Accept-Language $http_accept_language;
72
72
  proxy_set_header Accept $http_accept;
73
- proxy_set_header If-Modified-Since $http_if_modified_since
74
- proxy_set_header If-None-Match $http_if_none_match
73
+ proxy_set_header If-Modified-Since $http_if_modified_since;
74
+ proxy_set_header If-None-Match $http_if_none_match;
75
75
  proxy_http_version 1.1;
76
76
  proxy_pass http://tileblaster;
77
77
  }
package/tileblaster.js CHANGED
@@ -177,10 +177,15 @@ tileblaster.prototype.shutdown = function(){
177
177
  let closed = 0;
178
178
  self.servers.forEach(function(server){
179
179
  server.close(function(){
180
- if (++closed === self.servers.length) {
181
- debug.info("All Servers Closed");
182
- process.exit(0);
183
- }
180
+ (function(fn){
181
+ if (!server.socket) return fn();
182
+ fs.unlink(server.socket, fn);
183
+ })(function(){
184
+ if (++closed === self.servers.length) {
185
+ debug.info("All Servers Closed");
186
+ process.exit(0);
187
+ }
188
+ });
184
189
  });
185
190
  });
186
191
  // watchdog
@@ -422,19 +427,38 @@ tileblaster.prototype.listen = function(router){
422
427
 
423
428
  } else if (listen.socket) {
424
429
 
425
- fs.unlink(listen.socket, function(err) { // try unlink leftover socket
426
- if (err && err.code !== "ENOENT") return debug.error("Deleting socket '%s':", listen.socket, err);
427
- server.listen(listen.socket, function(err) {
428
- if (err) return debug.error("Binding to socket '%s':", listen.socket, err);
429
- debug.info("Listening on socket '%s'", listen.socket);
430
- self.servers.push(server);
431
- if (listen.mode) fs.chmod(listen.socket, listen.mode, function(err){
432
- if (err) return debug.error("Changing permissions of socket '%s' to '%s':", listen.socket, listen.perms.toString(8), err);
433
- });
434
- if (listen.group) fs.chown(listen.socket, os.userInfo().uid, listen.group, function(err){
435
- if (err) return debug.error("Changing gid of socket '%s' to '%s':", listen.socket, listen.gid, err);
430
+ // create different sockets per instance
431
+ if (self.config.threads > 1) {
432
+ let ext = path.extname(listen.socket);
433
+ listen.socket = path.join(path.dirname(listen.socket), path.basename(listen.socket, ext) + self.config.id + ext);
434
+ }
435
+
436
+ // ensure socket dir exists
437
+ fs.mkdir(path.dirname(listen.socket), { recursive: true }, function(err){
438
+ if (err && err.code !== "ENOENT") return debug.error("Creating socket dir '%s':", path.dirname(listen.socket), err);
439
+
440
+ // inlink old socket
441
+ fs.unlink(listen.socket, function(err) { // try unlink leftover socket
442
+ if (err && err.code !== "ENOENT") return debug.error("Deleting socket '%s':", listen.socket, err);
443
+
444
+ server.listen(listen.socket, function(err) {
445
+ if (err) return debug.error("Binding to socket '%s':", listen.socket, err);
446
+
447
+ // store socket path
448
+ server.socket = listen.socket;
449
+
450
+ debug.info("Listening on socket '%s'", listen.socket);
451
+ self.servers.push(server);
452
+ if (listen.mode) fs.chmod(listen.socket, listen.mode, function(err){
453
+ if (err) return debug.error("Changing permissions of socket '%s' to '%s':", listen.socket, listen.perms.toString(8), err);
454
+ });
455
+ if (listen.group) fs.chown(listen.socket, os.userInfo().uid, listen.group, function(err){
456
+ if (err) return debug.error("Changing gid of socket '%s' to '%s':", listen.socket, listen.gid, err);
457
+ });
458
+
436
459
  });
437
460
  });
461
+
438
462
  });
439
463
 
440
464
  }