Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rethink how jobs are managed #69

Open
edgurgel opened this issue May 18, 2016 · 1 comment
Open

Rethink how jobs are managed #69

edgurgel opened this issue May 18, 2016 · 1 comment

Comments

@edgurgel
Copy link
Owner

edgurgel commented May 18, 2016

Right now the WorkersManager does a couple of tasks:

  • Ask for jobs to be done through the QueueManager;
  • Message the workers to perform a job;
  • Receive feedback from workers related to a job (done or failure messages);
  • Track jobs that are being done in an ETS table;
  • Monitor workers so we know if a job failed because a worker simply died;
  • Acknowledge or schedule for retry through the QueueManager;
  • Clean up the inprocess list of jobs that were hanging from previous execution

This issue is a starting point to discuss what and if we can split these concerns in different processes but keeping the same feature set we have now.

cc/ @mitchellhenke

@mitchellhenke
Copy link
Contributor

My initial thought is that I could imagine seeing them in a couple groups (maybe even more?):

Worker/Job Management Process:

  • Receive feedback from workers related to a job (done or failure messages);
  • Track jobs that are being done in an ETS table;
  • Monitor workers so we know if a job failed because a worker simply died;
  • Acknowledge or schedule for retry through the QueueManager;

Job Queuing:

  • Ask for jobs to be done through the QueueManager;
  • Message the workers to perform a job;
  • Clean up the inprocess list of jobs that were hanging from previous execution;

Appreciate the inclusion, thank you :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants