resque / resque/resque-scheduler

"queue with parameters" - introduce parameter types

Open
#758 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Hi, I think the "queue with parameters" feature would be more convenient to use if we introduce a notion of type to the parameters. Firstly, because the currently used single-line inputs are convenient only for simple string data - passing something like a JSON is inconvenient and error-prone. Secondly, because the form passes all the parameters as strings, which in turn must be parsed by the queued job - it'd be more convenient the just receive the data without any conversion.

For my personal uses, I'd need the following types

  • string (the default if type is not specified) - has the current behavior
  • text - renders a textarea, passes value to job as string
  • json - uses some js library to render a JSON editor, passes value to job as a hash

Please let me know what do you think about this suggestion

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

The issue names no files, tests, or entry points. Start by tracing the existing “queue with parameters” form and how its values reach queued jobs; done means supporting string, textarea-backed text, and JSON parameters, with JSON delivered as a hash and string remaining the default.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, ruby
Domain
full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.