Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
GORUCO 2018: Running Jobs at Scale by Kir Shatrov
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the presentation "Running Jobs at Scale," Kir Shatrov, a platform engineer at Shopify, discusses the complexities of managing background jobs within web applications, particularly in environments that require rapid deployments. His talk emphasizes the challenges faced by developers, especially those using Ruby on Rails and libraries such as Active Job and Sidekiq, when handling long-running jobs that can obstruct timely task execution. **Key Points Discussed:** - **Acknowledgment of GoRuCo:** Shatrov appreciates the opportunity to present at the final GoRuCo conference, showcasing the importance of the event to the Ruby community. - **Background Jobs Overview:** He defines background jobs as processes that run outside of user requests, often involving tasks like sending emails or data processing that can be time-consuming. - **Challenges with Long-Running Jobs:** Shatrov elaborates on difficulties posed by jobs that exceed the usual timeframe for execution. For example, jobs dealing with thousands of records may complete in minutes, but those processing millions can take much longer, complicating deployment strategies. - **Deployment Interruptions:** He explains how standard practices in job libraries can lead to lost job progress during deployments, raising concerns about job reliability during frequent code updates. - **Operational Impact:** For platforms like Shopify, where the scale can involve numerous merchants and vast product databases, long-running jobs can hinder critical functions, such as payment processing, due to resource constraints. - **Solution Concept:** To combat these issues, Shatrov proposes the idea of interruptible and resumable jobs. By splitting job definitions into distinct parts—one for the collection of records and another for the individual processing—developers can manage interruptions more effectively, allowing jobs to save progress and resume without data loss. - **Implementation Benefits:** This approach allows for better tracking of job progress, enables parallel processing of tasks, and enhances efficiency through throttling based on database load. - **Future Steps:** Shatrov mentions plans to open-source this solution, inviting discussion with other developers facing similar challenges related to background job management. **Conclusions:** Shatrov's insights underscore the necessity of rethinking how we handle long-running jobs in web applications, particularly in a cloud environment, to accommodate frequent deployments and ensure operational efficiency. The proposed solutions could greatly benefit developers looking to optimize their background job processing workflows.
Suggest modifications
Cancel