view src/app.coffee @ 19:6b3f38af3fa4

use child_process for backend
author Mathias Gebbe <mgebbe@intevation.de>
date Fri, 13 Jun 2014 18:13:36 +0200
parents 98a070c98982
children dbe2232af20f
line wrap: on
line source
# Copyright (C) 2014 by Intevation GmbH
# Author: Mathias Gebbe <mgebbe@intevation.de>
#
# This file is Free Software under the Apache License, Version 2.0;
# and comes with NO WARRANTY!
# See the documentation coming with pumpbridge for details.

async = require 'async'
databank = require 'databank'
Databank = databank.Databank
DatabankObject = databank.DatabankObject
PumpIOClientApp = require 'pump.io-client-app'
Sync = require('./sync')
Config = require('./config')
routes = require('./routes')
config = Config.config

async.waterfall [
  (callback) ->
    # sets up the config
    app = new PumpIOClientApp(config)

    routes.addRoutes app

    # Start the app
    app.log.debug
      port: config.port
      address: config.address
    , 'Starting app listener'

    app.run (err) ->
      if err
        app.log.error err
      else
        console.log 'Express server is listening
        on address %s port %d', config.address, config.port

        # Start Deamon!
        # or comment to the next hashtag after ')' and user
        # Sync.sync()
        # or start coffee syncALONE.coffee in a different window
        exec = require("child_process").exec
        child = undefined
        child = exec("coffee syncALONE.coffee", (error, stdout, stderr) ->
          console.log "stdout: " + stdout
          console.log "stderr: " + stderr
          console.log "exec error: " + error  if error isnt null
          return
        )
        #

      return
], (err, result) ->
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)