@nexrender/worker 1.42.1 → 1.42.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +5 -5
- package/src/index.js +10 -47
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nexrender/worker",
|
|
3
|
-
"version": "1.42.
|
|
3
|
+
"version": "1.42.2",
|
|
4
4
|
"author": "inlife",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
]
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@nexrender/api": "^1.
|
|
20
|
-
"@nexrender/core": "^1.42.
|
|
21
|
-
"@nexrender/types": "^1.
|
|
19
|
+
"@nexrender/api": "^1.42.2",
|
|
20
|
+
"@nexrender/core": "^1.42.2",
|
|
21
|
+
"@nexrender/types": "^1.42.2",
|
|
22
22
|
"arg": "^4.1.0",
|
|
23
23
|
"chalk": "^2.4.2",
|
|
24
24
|
"rimraf": "^3.0.2"
|
|
@@ -26,5 +26,5 @@
|
|
|
26
26
|
"publishConfig": {
|
|
27
27
|
"access": "public"
|
|
28
28
|
},
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "e3648d769a0bef8c26ae9b5a18af9077dece6f12"
|
|
30
30
|
}
|
package/src/index.js
CHANGED
|
@@ -14,12 +14,10 @@ const delay = amount => (
|
|
|
14
14
|
const nextJob = async (client, settings) => {
|
|
15
15
|
do {
|
|
16
16
|
try {
|
|
17
|
-
let job =
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
job = await client.pickupJob();
|
|
22
|
-
}
|
|
17
|
+
let job = await (settings.tagSelector ?
|
|
18
|
+
await client.pickupJob(settings.tagSelector) :
|
|
19
|
+
await client.pickupJob()
|
|
20
|
+
);
|
|
23
21
|
|
|
24
22
|
if (job && job.uid) {
|
|
25
23
|
return job
|
|
@@ -51,7 +49,7 @@ const start = async (host, secret, settings, headers) => {
|
|
|
51
49
|
logger: console,
|
|
52
50
|
}))
|
|
53
51
|
|
|
54
|
-
if(
|
|
52
|
+
if (typeof settings.tagSelector == 'string') {
|
|
55
53
|
settings.tagSelector = settings.tagSelector.replace(/[^a-z0-9, ]/gi, '')
|
|
56
54
|
}
|
|
57
55
|
|
|
@@ -72,12 +70,11 @@ const start = async (host, secret, settings, headers) => {
|
|
|
72
70
|
}
|
|
73
71
|
|
|
74
72
|
try {
|
|
75
|
-
job.onRenderProgress =
|
|
73
|
+
job.onRenderProgress = (job) => {
|
|
76
74
|
try {
|
|
77
75
|
/* send render progress to our server */
|
|
78
76
|
client.updateJob(job.uid, getRenderingStatus(job))
|
|
79
77
|
} catch (err) {
|
|
80
|
-
|
|
81
78
|
if (settings.stopOnError) {
|
|
82
79
|
throw err;
|
|
83
80
|
} else {
|
|
@@ -88,13 +85,8 @@ const start = async (host, secret, settings, headers) => {
|
|
|
88
85
|
}
|
|
89
86
|
}
|
|
90
87
|
|
|
91
|
-
job.onRenderError =
|
|
92
|
-
|
|
93
|
-
if( typeof err.toString == "function" ){
|
|
94
|
-
job.error = [err.toString()];
|
|
95
|
-
}else{
|
|
96
|
-
job.error = [err];
|
|
97
|
-
}
|
|
88
|
+
job.onRenderError = (job, err /* on render error */) => {
|
|
89
|
+
job.error = [].concat(job.error || [], [err.toString()]);
|
|
98
90
|
}
|
|
99
91
|
|
|
100
92
|
job = await render(job, settings); {
|
|
@@ -104,38 +96,10 @@ const start = async (host, secret, settings, headers) => {
|
|
|
104
96
|
|
|
105
97
|
await client.updateJob(job.uid, getRenderingStatus(job))
|
|
106
98
|
} catch (err) {
|
|
99
|
+
job.error = [].concat(job.error || [], [err.toString()]);
|
|
100
|
+
job.errorAt = new Date();
|
|
107
101
|
job.state = 'error';
|
|
108
102
|
|
|
109
|
-
/* append existing error message with another error message */
|
|
110
|
-
if( job.hasOwnProperty("error") && job.error ) {
|
|
111
|
-
if(Array.isArray(job.error)){
|
|
112
|
-
if( typeof job.error.toString == "function" ){ /* Use toString as possible to prevent JSON stringify null return */
|
|
113
|
-
job.error = [].concat.apply(job.error,[err.toString()]);
|
|
114
|
-
}else{
|
|
115
|
-
job.error = [].concat.apply(job.error,[err]);
|
|
116
|
-
}
|
|
117
|
-
}else{
|
|
118
|
-
if( typeof job.error.toString == "function" ){ /* Use toString as possible to prevent JSON stringify null return */
|
|
119
|
-
job.error = [job.error.toString()];
|
|
120
|
-
}else{
|
|
121
|
-
job.error = [job.error];
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
if( typeof err.toString == "function" ){ /* Use toString as possible to prevent JSON stringify null return */
|
|
125
|
-
job.error.push(err.toString());
|
|
126
|
-
}else{
|
|
127
|
-
job.error.push(err);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}else{
|
|
131
|
-
if( typeof err.toString == "function" ){ /* Use toString as possible to prevent JSON stringify null return */
|
|
132
|
-
job.error = err.toString();
|
|
133
|
-
}else{
|
|
134
|
-
job.error = err;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
job.errorAt = new Date()
|
|
138
|
-
|
|
139
103
|
await client.updateJob(job.uid, getRenderingStatus(job)).catch((err) => {
|
|
140
104
|
if (settings.stopOnError) {
|
|
141
105
|
throw err;
|
|
@@ -143,7 +107,6 @@ const start = async (host, secret, settings, headers) => {
|
|
|
143
107
|
console.log(`[${job.uid}] error occurred: ${err.stack}`)
|
|
144
108
|
console.log(`[${job.uid}] render proccess stopped with error...`)
|
|
145
109
|
console.log(`[${job.uid}] continue listening next job...`)
|
|
146
|
-
|
|
147
110
|
}
|
|
148
111
|
});
|
|
149
112
|
|