Skip to content

Error: all job servers fail #63

@kvelaro

Description

@kvelaro

Related to #12
I have read that issue, and did as you advised. I catch error and try not to exit worker, but it does.
In code I have:

if(App.test == false) {
   var childProcess = spawn(nodejsBin, [App.methodsDir + path.sep + file, 'standalone']);
}
else {
   var childProcess = spawn(nodejsBin, [App.methodsDir + path.sep + file, 'standalone', 'test']);
}
childProcess.stdout.on('data', (data) => {
   console.log(`App.js stdout: ${data}`);
});
childProcess.stderr.on('data', (data) => {
   console.log(`App.js stderr: ${data}`);
});
childProcess.on('close', (code) => {
   console.log(`App.js close: Child process exited with code ${code}`);
});

...

let client = gearmanode.client();
                client.submitJob(nextMethod, JSON.stringify(params));
                fn();
                client.on('error', function() {
                    fn(new Error("rrrrrr"));
                });

But in worker output I see

App.js stdout: Error: rrrrrr
    at exports.Client.<anonymous> (/var/www/html/protected/workers/js/methods/wsautocalc.js:236:24)
    at emitOne (events.js:116:13)
    at exports.Client.emit (events.js:211:7)
    at exports.Client.Client._unrecoverableError (/var/www/html/protected/workers/js/node_modules/gearmanode/lib/gearmanode/client.js:283:10)
    at exports.Client.Client._getJobServer (/var/www/html/protected/workers/js/node_modules/gearmanode/lib/gearmanode/client.js:296:14)
    at tryToSend (/var/www/html/protected/workers/js/node_modules/gearmanode/lib/gearmanode/client.js:163:26)
    at jsSendCallback (/var/www/html/protected/workers/js/node_modules/gearmanode/lib/gearmanode/client.js:153:13)
    at connectCb (/var/www/html/protected/workers/js/node_modules/gearmanode/lib/gearmanode/job-server.js:266:49)
    at Socket.<anonymous> (/var/www/html/protected/workers/js/node_modules/gearmanode/lib/gearmanode/job-server.js:125:13)
    at emitOne (events.js:116:13)

App.js stdout: {}

App.js stderr: debug: packet encoded, type=WORK_COMPLETE, buffer.size=50

App.js stdout: verbose: packet sent, type=WORK_COMPLETE, len=50

App.js stderr: debug: packet encoded, type=PRE_SLEEP, buffer.size=12

App.js stdout: verbose: packet sent, type=PRE_SLEEP, len=12

App.js stderr: events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: all job servers fail
    at tryToSend (/var/www/html/protected/workers/js/node_modules/gearmanode/lib/gearmanode/client.js:165:35)
    at jsSendCallback (/var/www/html/protected/workers/js/node_modules/gearmanode/lib/gearmanode/client.js:153:13)
    at connectCb (/var/www/html/protected/workers/js/node_modules/gearmanode/lib/gearmanode/job-server.js:266:49)
    at Socket.<anonymous> (/var/www/html/protected/workers/js/node_modules/gearmanode/lib/gearmanode/job-server.js:125:13)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at emitErrorNT (internal/streams/destroy.js:64:8)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)

Also I want to mention:
I have 700 jobs to be made, and if I run first time, all jobs are done correct, and no worker does not exit (throw error). If I rerun tasks (after thay are finished, and !!! without server/service restart ) at approximately when thereis 400 task left, more than 5 workers exit. This strange situation happens always (always at a second run). Could you advise me something?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions