Ayende @ Rahien

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

ayende@ayende.com

+972 52-548-6969

, @ Q c

Posts: 6,128 | Comments: 45,548

filter by tags archive

Comments

Matt

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

BEGIN TRANSACTION

Ayende Rahien

Matt,

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 ?

/Mats

Ayende Rahien

Mats,

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

Rémy

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.

FUTURE POSTS

  1. The low level interview question - 7 hours from now
  2. The worker pattern - 3 days from now

There are posts all the way to May 30, 2016

RECENT SERIES

  1. The design of RavenDB 4.0 (14):
    26 May 2016 - The client side
  2. RavenDB 3.5 whirl wind tour (14):
    25 May 2016 - Got anything to declare, ya smuggler?
  3. Tasks for the new comer (2):
    15 Apr 2016 - Quartz.NET with RavenDB
  4. Code through the looking glass (5):
    18 Mar 2016 - And a linear search to rule them
  5. Find the bug (8):
    29 Feb 2016 - When you can't rely on your own identity
View all series

RECENT COMMENTS

Syndication

Main feed Feed Stats
Comments feed   Comments Feed Stats