text: 'use strict';
  
  function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
  
  var log = require('../util').log('cluster:app_worker');
  var AppClient = require('./app');
  
  var appPath = process.env.APP_PATH;
  
  (function () {
    var _ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee() {
      var appClient;
      return regeneratorRuntime.wrap(function _callee$(_context) {
        while (1) {
          switch (_context.prev = _context.next) {
            case 0:
              appClient = new AppClient({ logger: log });
              _context.next = 3;
              return appClient.init();
  
            case 3:
              appClient.on('error', log.error);
  
              try {
                require(appPath);
              } catch (e) {
                log.error(e);
              }
  
            case 5:
            case 'end':
              return _context.stop();
          }
        }
      }, _callee, this);
    }));
  
    function forkApp() {
      return _ref.apply(this, arguments);
    }
  
    return forkApp;
  })()().catch(log.error);