TE
TechEcho
StartseiteTop 24hNeuesteBesteFragenZeigenJobs
GitHubTwitter
Startseite

TechEcho

Eine mit Next.js erstellte Technologie-Nachrichtenplattform, die globale Technologienachrichten und Diskussionen bietet.

GitHubTwitter

Startseite

StartseiteNeuesteBesteFragenZeigenJobs

Ressourcen

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. Alle Rechte vorbehalten.

An Introduction to Solid Queue for Ruby on Rails

115 Punktevon amalinovicvor 5 Tagen

12 comments

shayonjvor 1 Tag
I like Solid Queue and the direction things are heading, but its hard to overlook the performance. A system that does tens to hundreds of thousands of jobs&#x2F;s on Sidekiq + Redis, will now get bottlenecked by transactional performance with solid queue &#x2F; PG - <a href="https:&#x2F;&#x2F;github.com&#x2F;sidekiq&#x2F;sidekiq&#x2F;wiki&#x2F;Active-Job#performance">https:&#x2F;&#x2F;github.com&#x2F;sidekiq&#x2F;sidekiq&#x2F;wiki&#x2F;Active-Job#performan...</a><p>My choice of design pattern here is - Use PG (PostgreSQL) for orchestration + decision making and Sidekiq + Redis as message bus. Just can&#x27;t beat the time it takes for job to get picked up once it has landed on a queue.
评论 #43953576 未加载
评论 #43955486 未加载
评论 #43954815 未加载
评论 #43954021 未加载
评论 #43955360 未加载
评论 #43953441 未加载
评论 #43954999 未加载
evolve2kvor etwa 3 Stunden
Mastodon runs on Rails and currently utilises and relies on Redis and Sidekiq. I’ve heard redis&#x2F;sidekiq adds some additional complication and workload to setting up and maintaining a mastodon instance especially for those less familiar with the stack.<p>I’d love some opinions from those with any insight. Would it benefit the Mastodon project to switch across to Solid Queue generally or as a default? Or is mastodon one of those use cases where the current Redis&#x2F;Sidekiq setup really is more suitable?<p>Please explain your reasoning :)
Justsignedupvor 1 Tag
I&#x27;ve used a philosophy of reduced infra complexity till you really need it for years.<p>Having to just manage a database is far easier infra wise than a complex system for small rails operations.<p>Scaling up there will always be strong needs for complexity, but doesn&#x27;t mean you can&#x27;t get really far without it.
评论 #43953808 未加载
评论 #43953985 未加载
bdcravensvor 1 Tag
I like the idea of a db-backed background processor, but I still feel like Good Job is a better option. It has much more parity with Sidekiq in terms of features, UI, etc than Solid Queue.
latchkeyvor 1 Tag
If this was part of reducing operational overhead, why not implement something functionally like GCP Cloud Tasks [0]?<p>Since this is part of Rails, all you would need to do is implement regular http endpoints, no need for workers&#x2F;listeners. Submit a &quot;job&quot; to the queue (which itself is just a POST) and the message details: the endpoint and some data to POST to said endpoint.<p>The queue &quot;server&quot; processes the list of jobs, hits the specified endpoint and when it gets a 200 response, it deletes it. Otherwise, it just keeps retrying.<p>[0] <a href="https:&#x2F;&#x2F;cloud.google.com&#x2F;tasks&#x2F;docs" rel="nofollow">https:&#x2F;&#x2F;cloud.google.com&#x2F;tasks&#x2F;docs</a>
评论 #43956899 未加载
评论 #43954639 未加载
评论 #43954536 未加载
cpursleyvor etwa 22 Stunden
I like this approach but seems a missed opportunity to use the pgmq library: <a href="https:&#x2F;&#x2F;github.com&#x2F;pgmq&#x2F;pgmq">https:&#x2F;&#x2F;github.com&#x2F;pgmq&#x2F;pgmq</a><p>Here&#x27;s a neat project built on top of pgmq &amp; supabase deno edge functions, but a similar thing could be done in other stacks:<p><a href="https:&#x2F;&#x2F;www.pgflow.dev" rel="nofollow">https:&#x2F;&#x2F;www.pgflow.dev</a><p>Played with it a bit and it&#x27;s very promising.
riettavor etwa 24 Stunden
I have been a big fan of delayed_job for a while. For a time went with sidekiq + Redis but found the juice not worth the squeeze. The biggest issue was complex logic that got run before the current sql transaction finalized. Weird timing bugs and wacky solutions with after_commit hooks and random delays. Not an issue if the database is the sole source of state.
thinkingemotevor etwa 15 Stunden
&gt; Job is an ActiveRecord model<p>hmm is it? was that a typo for &quot;MyJob is&quot; or &quot;is an ActiveJob model&quot; ?
neerajdotname2vor 1 Tag
We didn&#x27;t know how &quot;UPDATE SKIP LOCKED&quot; worked. We lookoed into and wrote a blog on it. <a href="https:&#x2F;&#x2F;www.bigbinary.com&#x2F;blog&#x2F;solid-queue" rel="nofollow">https:&#x2F;&#x2F;www.bigbinary.com&#x2F;blog&#x2F;solid-queue</a>
wang_zuovor 1 Tag
I am wondering whether there have been any efforts to implement something similar in other languages or frameworks.
评论 #43956312 未加载
评论 #43954421 未加载
评论 #43954367 未加载
Trasmattavor 1 Tag
This is cool, but I will just continue to use Sidekiq. I know the API well, it&#x27;s crazy fast and scalable, and it&#x27;s easy to setup. A Redis dependency is dead simple these days too.
nwhnwhvor 1 Tag
Nothing solid about high-level interfaces.