resque / resque/resque-scheduler

unclear and very confusing docs

Open
#488 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

documentation
Dominant language
Ruby
Stars
1.7k
Forks
477
PR merge metrics
No merged PRs in 30d

Description

It's very unclear on how to run a delayed job vs. a scheduled job.

First paragraph says:

Scheduled jobs are like cron jobs, recurring on a regular basis. Delayed jobs are resque jobs that you want to run at some point in the future. The syntax is pretty explanatory:
Resque.enqueue_in(5.days, SendFollowupEmail) # run a job in 5 days

or

Resque.enqueue_at(5.days.from_now, SomeJob) # run SomeJob at a specific time

Which leads user to believe Resque.enqueue_in(5.days is for SCHEDULED (CRON) and the 2nd bullet is for DELAYED.

Now you move to "Delayed jobs" para and find this:

Delayed jobs are one-off jobs that you want to be put into a queue at some point in the future. The classic example is sending email:
Resque.enqueue_in(5.days, SendFollowUpEmail, :user_id => current_user.id)

With that, enqueue_in(5.days is understood to mean a DELAYED job.

User continues to read docs, he finds "Also supported is Resque.enqueue_at which takes a timestamp to queue the job". !!!!!?????????

This is a total bullshit man. If you're going to distinguish between delayed and scheduled, make so. Don't confuse user. I have read your doc 5 times and I still don't understand clearly how to:

  1. Invoke a cron-like job
  2. Schedule a delayed one-time job.

Also, the language should be changed. For non-native, it's a catastrophe to read all that. First of all, make a clear separation between cronjob and delayed job. Don't name it a "scheduled" job, it's very confusing, name it either "cronjob" or "recurring" or "repeating". A delayed job is what it is, one-time, no need to change that.

Thanks.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the documentation passages quoted in the issue and compare how Resque.enqueue_in and Resque.enqueue_at are described. Clarify the distinction between recurring cron-like jobs and one-time delayed jobs, use consistent terminology, and make both invocation paths understandable to non-native readers.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
Half a day
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.