Turn any signal into insight and action. See how PagerDuty Digital Operations Management Platform integrates machine data and human intelligence to improve visibility and agility across organizations.
Connect insights to real-time action by aligning teams through the shared language of business impact.
Check out the latest products we’ve been working on—including event intelligence, machine learning, response automation, on-call, analytics, operations health management, integrations, and more.
Digital Operations Management arms organizations with the insights needed to turn data into opportunity across every operational use case, from DevOps, ITOps, Security, Support, and beyond.
Over 300 Integrations
Discover DevOps best practices with our library of webinars, whitepapers, reports, and much more.
Learn best practices and get support help with resources from our award-winning support team.
See how PagerDuty works with our live product demo — twice a week, every week.
We've created a maturity model to assist on the journey to digital operations excellence. Take our short assessment to find out where your team falls!
Interactive, simple-to-use API and technical documentation enables users to easily try updates and extend PagerDuty.
Engage with users and PagerDuty experts from our global community of 200k+ users. Become a member, connect, and share insights for success.
Get all your PagerDuty-related questions answered by exploring our in-depth support documentation and community forums.
Have you ever worked on a team where it was a challenge to give constructive feedback or confidently share ideas? At PagerDuty Summit 2018, Patrick...
PagerDuty helps organizations transform their digital operations. Learn more about PagerDuty's mission and what we do.
Meet our experienced and passionate executive team.
We are risk-taking innovators dedicated to delivering amazing products and delighting customers. Join us and do the best work of your career.
With the PagerDuty Foundation, we are committed to doing our part in giving back to the community.
Like pretty much everything else in Rails, optimistic locking is nice and easy to setup: you simply add a “lock_version” column to your ActiveRecord model and you’re all set. If a given Rails process is trying to update some record, and some other process sneakily manages to update that same record while the first process wasn’t looking (locking?!?), then the first process will get a ActiveRecord::StaleObjectError when trying to save it’s stale data to the DB.
Unfortunately, however, like pretty much all the other convenient magic in Rails, it can be hard to fine-tune the behavior according to your needs. Say, for instance, that your row has a field containing statistics data (like a counter), or some other piece of data that (A) you don’t mind becoming a little stale, or (B) should occasionally be updated in the background and shouldn’t interfere with the saving of other (more important) updates. In these cases, the built-in optimistic locking can get a bit annoying.
Yes, you could always break these fields out into a new table/model of its own, with a has_one relationship, but you might not want to jump through those hoops. Fear not! Using the below module, you can simply add the lines:
to your ActiveRecord model, any updates to the field in question won’t increment your lock_version counter nor can it fail with StaleObjectErrors. (Tested in Rails 2.3.X)
Voices wield power. Staying silent is not an option. We must speak up and honor those who do. October is National Domestic Violence Awareness Month,...
“Chaos Engineering is the discipline of experimenting on a distributed system in order to build confidence in the system’s capability to withstand turbulent conditions in...
600 Townsend St., #200
San Francisco, CA 94103
905 King Street West, Suite 600
Toronto, ON, M6K 3G9, Canada
1416 NW 46th St., St. 301
Seattle, WA 98107
5 Martin Place
1 Fore St,
London EC2Y 9DT
© 2009 - 2019