@@ -103,7 +103,7 @@ if (!options.sourceDir) options.sourceDir = process.cwd();
103
103
104
104
// Setup configurations for forever
105
105
var config = {
106
- root : argv . p || forever . path
106
+ root : argv . p
107
107
} ;
108
108
109
109
function tryStart ( callback ) {
@@ -124,79 +124,84 @@ function tryStart (callback) {
124
124
} ) ;
125
125
}
126
126
127
- // Log starting...
128
- sys . puts ( 'Loading forever with config: ' ) ;
129
- eyes . inspect ( config )
130
-
131
- var loader = forever . load ( config ) ;
132
- loader . on ( 'load' , function ( ) {
133
- sys . puts ( 'Loaded forever. Tidying /tmp/forever.' ) ;
134
- var tidy = forever . cleanUp ( action === 'cleanlogs' ) ;
135
- tidy . on ( 'cleanUp' , function ( ) {
136
- sys . puts ( '/tmp/ forever tidied .' ) ;
137
- if ( file ) {
138
- sys . puts ( 'Working with file: ' + file ) ;
139
- }
140
-
141
- if ( options ) {
142
- sys . puts ( 'Using forever options: ') ;
143
- eyes . inspect ( options ) ;
144
- }
145
-
146
- if ( action ) {
147
- sys . puts ( 'Running action: ' + action . yellow ) ;
148
- switch ( action ) {
149
- case 'start' :
150
- tryStart ( function ( ) { forever . startDaemon ( file , options ) ; } ) ;
151
- break ;
152
-
153
- case 'stop' :
154
- var runner = forever . stop ( file , true ) ;
155
- runner . on ( 'stop' , function ( process ) {
156
- sys . puts ( 'Forever stopped process:' ) ;
157
- sys . puts ( process ) ;
158
- } ) ;
159
- runner . on ( 'error' , function ( err ) {
160
- sys . puts ( 'Forever cannot find process with index: ' + file )
161
- } )
162
- break ;
163
-
164
- case 'stopall' :
165
- var runner = forever . stopAll ( true ) ;
166
- runner . on ( 'stopAll' , function ( processes ) {
167
- if ( processes ) {
168
- sys . puts ( 'Forever stopped processes:' ) ;
169
- sys . puts ( processes ) ;
170
- }
171
- else {
172
- sys . puts ( 'No forever processes running' ) ;
173
- }
174
- } ) ;
175
- break ;
176
-
177
- case 'restart' :
178
- var runner = forever . restart ( file , true ) ;
179
- runner . on ( 'restart' , function ( processes ) {
180
- if ( processes ) {
181
- sys . puts ( 'Forever restarted processes:' ) ;
182
- sys . puts ( processes ) ;
183
- }
184
- else {
185
- sys . puts ( 'No forever processes running' ) ;
186
- }
187
- } ) ;
188
- break ;
189
-
190
- case 'list' :
191
- var processes = forever . list ( true ) ;
192
- sys . puts ( processes ? processes : 'No forever processes running' ) ;
193
- break ;
194
- }
195
- }
196
- else {
197
- tryStart ( function ( ) {
198
- forever . start ( file , options ) . save ( ) . on ( 'restart' , function ( fvr ) { fvr . save ( ) } ) ;
199
- } ) ;
127
+ //
128
+ // Only call `forever.load()` if the root path is different than
129
+ // the default root exposed by forever.
130
+ //
131
+ if ( config . root && config . root !== forever . root ) {
132
+ sys . puts ( 'Loading forever with config: ' ) ;
133
+ eyes . inspect ( config ) ;
134
+
135
+ forever . load ( config ) ;
136
+ sys . puts ( 'Loaded forever successfully .' ) ;
137
+ }
138
+
139
+ sys . puts ( 'Tidying ' + forever . config . root ) ;
140
+ var tidy = forever . cleanUp ( action === 'cleanlogs' ) ;
141
+ tidy . on ( 'cleanUp' , function ( ) {
142
+ sys . puts ( forever . config . root + ' tidied. ') ;
143
+ if ( file ) {
144
+ sys . puts ( 'Working with file: ' + file ) ;
145
+ }
146
+
147
+ if ( options ) {
148
+ sys . puts ( 'Using forever options:' ) ;
149
+ eyes . inspect ( options ) ;
150
+ }
151
+
152
+ if ( action ) {
153
+ sys . puts ( 'Running action: ' + action . yellow ) ;
154
+ switch ( action ) {
155
+ case 'start' :
156
+ tryStart ( function ( ) { forever . startDaemon ( file , options ) ; } ) ;
157
+ break ;
158
+
159
+ case 'stop' :
160
+ var runner = forever . stop ( file , true ) ;
161
+ runner . on ( 'stop' , function ( process ) {
162
+ sys . puts ( 'Forever stopped process:' ) ;
163
+ sys . puts ( process ) ;
164
+ } ) ;
165
+ runner . on ( 'error' , function ( err ) {
166
+ sys . puts ( 'Forever cannot find process with index: ' + file )
167
+ } )
168
+ break ;
169
+
170
+ case 'stopall' :
171
+ var runner = forever . stopAll ( true ) ;
172
+ runner . on ( 'stopAll' , function ( processes ) {
173
+ if ( processes ) {
174
+ sys . puts ( 'Forever stopped processes:' ) ;
175
+ sys . puts ( processes ) ;
176
+ }
177
+ else {
178
+ sys . puts ( 'No forever processes running' ) ;
179
+ }
180
+ } ) ;
181
+ break ;
182
+
183
+ case 'restart' :
184
+ var runner = forever . restart ( file , true ) ;
185
+ runner . on ( 'restart' , function ( processes ) {
186
+ if ( processes ) {
187
+ sys . puts ( 'Forever restarted processes:' ) ;
188
+ sys . puts ( processes ) ;
189
+ }
190
+ else {
191
+ sys . puts ( 'No forever processes running' ) ;
192
+ }
193
+ } ) ;
194
+ break ;
195
+
196
+ case 'list' :
197
+ var processes = forever . list ( true ) ;
198
+ sys . puts ( processes ? processes : 'No forever processes running' ) ;
199
+ break ;
200
200
}
201
- } ) ;
201
+ }
202
+ else {
203
+ tryStart ( function ( ) {
204
+ forever . start ( file , options ) ;
205
+ } ) ;
206
+ }
202
207
} ) ;
0 commit comments