Laran Evans
I develop software people love to use.
  • Home
  • About
  • Contact
  • Resume
  • Testimonials
Skip to content
  • Entrepreneurship
    • Leadership
    • Project Management
    • Team Development
    • Time Management
  • Motorcycles
    • Restoration Projects
  • Puzzles
  • Software Architecture
    • Cloud Computing
  • Software Development
    • Algorithms
    • CSS
    • Java
    • Javascript
    • MySQL
    • PHP
    • Python
    • Ruby and Rails
    • System Administration
« Identity Takes Center Stage in Firefox
How to Reset the Root Password in MySQL »

Building Data Intensive Apps

By laran | Published: 2009/12/06

There’s a right tool and lots of wrong tools for every job. A web server is definitely the wrong tool for long-running processes such as nightly/weekly/monthly batch processes or other processes which take a while to complete.

However, the web is the mode of choice for doing just about everything. So scheduling and viewing results of long running processes is ideal (or at least can be ideal) for a web environment.

So the question is, how do you connect the process that do the heavy-lifting in the background with the web environment.

I typically schedule cron processes to run in the background and leave some type of information, like a “completed_at” field in the database. A null value in this field indicates that it hasn’t been completed and needs to be run. I often handle locking (to ensure that no more than one of each task is running at a time) by touching a file when the process starts and removing it when the process completes.

I’d be interested to hear what languages, tools and techniques you use in similar situations.

Are there any languages, tools and technique that you would definitely NOT use?

Thanks.

This entry was posted in Software Development and tagged batch, processing. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.
« Identity Takes Center Stage in Firefox
How to Reset the Root Password in MySQL »

Post a Comment

Click here to cancel reply.

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • About Me

    I've got a masters degree in computer science and over 10 years of experience building web-based systems using Java/J2EE, Ruby, Rails and PHP. I'm a strong believer in the effectiveness of Agile Methods. Read more »

  • Subscribe

  • Similar Posts
    • The Value of Code Clarity
    • Writing Code That Isn't Clever
    • Top Ten Developer No-Nos
    • Why Frameworks Die
    • 36 Minutes to Get Back On Track
  • From Around the Web

      Shared Items
    • Recent Posts

      • The carbs are clean!
      • 80 pages of Ruby on Rails Performance Optimization Tips
      • Ruby Garbage Collection In-Depth
      • Binary Logic Basics
      • Kuali in Nacubo Magazine
    • Older Posts By Month

      Let's Talk

      Ask a question below. You'll be prompted for your name and email after you click the "Ask" button.

    Know more. Accomplish more. Succeed.