Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/wincloud_gateway/node_modules/strapi/lib/services/ drwxr-xr-x | |
| Viewing file: Select action/file-type: /**
* Simple worker queue in memory
*/
'use strict';
const debug = require('debug')('strapi:worker-queue');
module.exports = class WorkerQueue {
constructor({ logger, concurrency = 5 } = {}) {
debug('Initialize worker queue');
this.logger = logger;
this.worker = noop;
this.concurrency = concurrency;
this.running = 0;
this.queue = [];
}
subscribe(worker) {
debug('Subscribe to worker queue');
this.worker = worker;
}
enqueue(payload) {
debug('Enqueue event in worker queue');
if (this.running < this.concurrency) {
this.running++;
this.execute(payload);
} else {
this.queue.unshift(payload);
}
}
pop() {
debug('Pop worker queue and execute');
const payload = this.queue.pop();
if (payload) {
this.execute(payload);
} else {
this.running--;
}
}
async execute(payload) {
debug('Execute worker');
try {
await this.worker(payload);
} catch (error) {
this.logger.error(error);
} finally {
this.pop();
}
}
};
function noop() {}
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0049 ]-- |