Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 6,026 | Comments: 44,842

filter by tags archive



Hmmm ... starting simply (and assuming your contending resource is a DB table):


Ayende Rahien


I need to avoid doing a database - wide lock, which is what would happen when those monsters are running.

I also need to touch more than a single DB / resource, and a distributed transaction is not an option here.

Mats Helander

Your situation warrants re-inventing distributed transactions, but not using them ?


Ayende Rahien


Absolutely not!

I just need to ensure a serial execution of packages, nothing more. Transaction semantics are need to be more fine grained than a transaction per the entire package.

I wanted to know if there was a builtin way to provide the: "when package A runs, wait to run B, and vice versa"

Ayende Rahien

Perhaps a better term is:

Do not run packages A,B,C in parallel


You can create a third package that runs those two packages in serial. For the one, you only want to run once a hour, you use some variable or if-statement,

Comment preview

Comments have been closed on this topic.


No future posts left, oh my!


  1. Technical observations from my wife (3):
    13 Nov 2015 - Production issues
  2. Production postmortem (13):
    13 Nov 2015 - The case of the “it is slow on that machine (only)”
  3. Speaking (5):
    09 Nov 2015 - Community talk in Kiev, Ukraine–What does it take to be a good developer
  4. Find the bug (5):
    11 Sep 2015 - The concurrent memory buster
  5. Buffer allocation strategies (3):
    09 Sep 2015 - Bad usage patterns
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats