Worker
Worker part of queue-xec , can runs jobs - install required dependencies dynamically on demand.All required data with master exchanged with encryption.
Install / Use
/learn @queue-xec/WorkerREADME
Worker
As the name itself states it , Worker is the task processor node. After initial connection , Worker waiting for new tasks.
Info needs from Master :
- token
- transferEncryptToken
These 2 tokens are generated in Master due setup.Worker can operate in any network condition as long is online, can work behind NAT or home routers. Using webrtc and peer to peer trackers to connect and communicate with master.
Can receive task assets and their dependencies , while can track any changes made in files shared from Master ,if has outdated version of those files , will request again latest ones from Master.Dependencies automatically installed when a file change takes place.
Can receive job data , as part of job if Master passes them.And finally send back to Master job results , all data communication are encrypted.
Get started
With npm
yarn add queue-xec-worker #or# npm install queue-xec-worker
Including in existing project
const Worker = require('queue-xec-worker')
const work1 = new Worker({
token, // token generated from Master
name = 'worker_1',
loglevel, // off -> info -> warn -> error -> debug
transferEncryptToken = null, // token generated from Master
}); // work1 instance is ready for incoming new tasks
** file an issue if you think Worker should expose any other functionalities (for example, to have more control) .
git clone https://github.com/queue-xec/worker
cd worker
yarn #or# npm install
node worker.js --setup
Will prompt user to enter following info:
- transferEncryptToken token from master to secure data communications
- token from master this used for peers connection through webrtc.
These info will saved and loaded (later) in .env file at root workers folder.
Run and Wait for jobs :
node worker.js
Task File Structure
The worker expects a task.js file to be provided by the Master. This file should export a class with a run method that accepts a job object as an argument and returns a Promise that resolves with the job's results.
Example task.js:
class Task {
async run(job) {
// Process the job data
console.log('Processing job:', job.id);
// ... perform some work ...
return {
jobId: job.id,
status: 'completed',
result: 'some_result',
};
}
}
module.exports = Task;
> Contributors <
<a href="https://github.com/queue-xec/worker/graphs/contributors"> <img src="https://contrib.rocks/image?repo=queue-xec/worker" /> </a>⚠️ Under development ⚠️
Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
