jenkins-bot has submitted this change and it was merged.

Change subject: Unify logging through the service wrapper
......................................................................


Unify logging through the service wrapper

Basically, log everything through winston

Updates to bundler / latexer:
- https://gerrit.wikimedia.org/r/#/c/151215
- https://gerrit.wikimedia.org/r/#/c/151222

Change-Id: I2dcb3d8d45d010915c0e636acaa4ea2c9c017af6
---
M lib/threads/backend.js
1 file changed, 52 insertions(+), 28 deletions(-)

Approvals:
  Cscott: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/lib/threads/backend.js b/lib/threads/backend.js
index 3a38773..8accbad 100644
--- a/lib/threads/backend.js
+++ b/lib/threads/backend.js
@@ -317,6 +317,56 @@
 }
 
 /**
+ * Process a received child process message
+ *
+ * @param message The message object
+ * @param jobDetails The current job details context
+ * @param part What child process ( bundler / renderer )
+ */
+function processReceivedMessage( message, jobDetails, part ) {
+       var logPrefix, jdUpdateFn;
+       if ( part === 'bundler' ) {
+               logPrefix = 'backend.bundler.bin';
+               jdUpdateFn = jobDetails.updateBundling;
+       } else if ( part === 'renderer' ) {
+               logPrefix = 'backend.renderer.bin';
+               jdUpdateFn = jobDetails.updateRendering;
+       }
+       if ( message.type === 'status' ) {
+               jdUpdateFn.call(
+                       jobDetails,
+                       message.file, message.message, message.percent
+               );
+               redisClient
+                       .hset( config.redis.status_set_name,
+                       jobDetails.collectionId,
+                       JSON.stringify( jobDetails )
+               ).catch( function ( err ) {
+                       console.warn( "Could not report status to client: " + 
err, {
+                               channel: logPrefix + '.error',
+                               error:   eh.jsonify( err ),
+                               job:     { id: jobDetails.collectionId, writer: 
jobDetails.writer }
+                       } );
+               } );
+       } else if ( message.type === 'log' ) {
+               var msglevel = message.level || 'info';
+               console[msglevel]( message.stack || message.message, {
+                       channel: logPrefix,
+                       job: {
+                               id: jobDetails.collectionId,
+                               writer: jobDetails.writer
+                       }
+               });
+       } else {
+               console.error( '%s emitted message with unknown type', part, {
+                       channel: logPrefix + '.error',
+                       job:     { id: jobDetails.collectionId, writer: 
jobDetails.writer },
+                       rxmsg:   message
+               } );
+       }
+}
+
+/**
  * Fork the bundler process and resolve the promise when done
  *
  * @param jobDetails
@@ -342,7 +392,6 @@
        child = child_process.fork(
                config.backend.bundler.bin, [
                        '--no-compat',
-                       '--syslog',
                        '-p', config.backend.bundler.parsoid_prefix,
                        '-a', config.backend.bundler.parsoid_api,
                        '-m', metabookPath,
@@ -359,19 +408,7 @@
                );
        } );
        child.on( 'message', function ( message, handle ) {
-               jobDetails.updateBundling( message.file, message.status, 
message.percent );
-                       redisClient
-                               .hset( config.redis.status_set_name,
-                                       jobDetails.collectionId,
-                                       JSON.stringify( jobDetails )
-                               )
-                               .catch(function( err ) {
-                                       console.warn( "Could not report status 
to client: " + err, {
-                                               channel: 
'backend.bundler.error',
-                                               error: eh.jsonify( err ),
-                                               job: { id: 
jobDetails.collectionId, writer: jobDetails.writer }
-                                       } );
-                               } );
+               processReceivedMessage( message, jobDetails, 'bundler' );
        } );
        child.on( 'exit', function ( code, signal ) {
                if ( killTimer ) {
@@ -456,7 +493,6 @@
        } );
        child = child_process.fork(
                config.backend.writers[writer].bin, [
-                       '--syslog',
                        '-T', renderTempDir,
                        '-o', renderFile
                ].concat(
@@ -474,19 +510,7 @@
                );
        } );
        child.on( 'message', function ( message, handle ) {
-               jobDetails.updateRendering( message.file, message.status, 
message.percent );
-               redisClient
-                       .hset( config.redis.status_set_name,
-                               jobDetails.collectionId,
-                               JSON.stringify( jobDetails )
-                       )
-                       .catch( function( err ) {
-                               console.warn( "Could not report status to 
client: " + err, {
-                                       channel: 'backend.renderer.error',
-                                       error: eh.jsonify( err ),
-                                       job: { id: jobDetails.collectionId, 
writer: jobDetails.writer }
-                               } );
-                       } );
+               processReceivedMessage( message, jobDetails, 'renderer' );
        } );
        child.on( 'exit', function ( code, signal ) {
                if ( killTimer ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/151224
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I2dcb3d8d45d010915c0e636acaa4ea2c9c017af6
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/Collection/OfflineContentGenerator
Gerrit-Branch: master
Gerrit-Owner: Mwalker <[email protected]>
Gerrit-Reviewer: Arlolra <[email protected]>
Gerrit-Reviewer: Cscott <[email protected]>
Gerrit-Reviewer: GWicke <[email protected]>
Gerrit-Reviewer: Marcoil <[email protected]>
Gerrit-Reviewer: MaxSem <[email protected]>
Gerrit-Reviewer: Subramanya Sastry <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to