Comments (6)
@utrack I'm not sure I understand. Can you elaborate on what you mean by "readable name"?
from jobs.
@albrow well uh, term "job type identifiers" is a better term : )
Here's what i mean:
welcomeEmailJobs, err := jobs.RegisterType("welcomeEmail", 3, func(user *User) error {
// here be dragons
})
// spam poor guy
job, err := welcomeEmailJobs.ScheduleRecurring(100, time.Now(),time.Second*60, &User{EmailAddress: "[email protected]"})
if err != nil {
// Handle err
}
... somewhere else
tasks,err := jobs.FindById("welcomeEmail") // it doesn't work but nice to have
// -- tasks would contain job from previous snippet or at least unique string identifiers, which can be used to retrieve scheduled tasks by current FindById()
The problem I experience is: there's recurring task that gets registered each time app is started; as they can't be cleaned up in every possible case (say, power failure for app's node) the scheduled tasks pile up.
from jobs.
Okay I think I understand now. What you want to do is get all jobs of a particular Type
? I don't like the idea of saying that FindById
takes a job id or a job type as an argument. It's conflating two different things.
What I would rather do is add a new method on Type
. Something like FindAll
. Continuing from your example, you could run something like:
tasks,err := welcomEmailJobs.FindAll()
for _, task := range tasks {
// Do what you want with each task.
}
Does that cover your use case?
from jobs.
Yup, that's even better :)
from jobs.
Is there any update on this one? @albrow
from jobs.
@umayr sorry for going dark on this one.
I have many projects to maintain and moving forward I'm going to focus on bug fixes and maintenance. I will not be adding any new features to Jobs in the near future, but I would be happy to review PRs. I have also been speaking with a few developers to try and find additional maintainers.
I will update the Development Status section of the README to reflect this.
from jobs.
Related Issues (20)
- Use go generate to convert lua script files to strings HOT 4
- Use an interface for jobs instead of a non-type-safe handler function (would break backwards-compatibility) HOT 4
- Support redis sentinel HOT 6
- Export job.freq HOT 4
- Reschedule with freq HOT 2
- FindById() doesn't return error for missing jobs HOT 7
- Add a changelog HOT 2
- Panic in xen container HOT 4
- Job runtime error messages should include a stack trace
- Error when calling Destroy() from within a job handler function HOT 8
- job not exec with panic HOT 8
- Examples?
- Passing params / string name of job. HOT 2
- Endless loop? HOT 6
- Error Handling? HOT 5
- Application can't start due to error which message is 'jobs: In scanJob: Could not find Type with name = %s' HOT 1
- super slow HOT 1
- Support environmental prefix
- Job status is changed to executing but job has not started execution
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jobs.