Return-Path: Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: (qmail 95553 invoked from network); 27 Jul 2010 06:28:48 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 27 Jul 2010 06:28:48 -0000 Received: (qmail 1212 invoked by uid 500); 27 Jul 2010 06:28:47 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 664 invoked by uid 500); 27 Jul 2010 06:28:44 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 656 invoked by uid 99); 27 Jul 2010 06:28:43 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Jul 2010 06:28:43 +0000 X-ASF-Spam-Status: No, hits=2.9 required=10.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [209.85.160.52] (HELO mail-pw0-f52.google.com) (209.85.160.52) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Jul 2010 06:28:37 +0000 Received: by pwi7 with SMTP id 7so690322pwi.11 for ; Mon, 26 Jul 2010 23:28:15 -0700 (PDT) Received: by 10.142.144.2 with SMTP id r2mr9974460wfd.60.1280212095248; Mon, 26 Jul 2010 23:28:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.142.70.3 with HTTP; Mon, 26 Jul 2010 23:27:55 -0700 (PDT) In-Reply-To: References: From: Jason Smith Date: Tue, 27 Jul 2010 13:27:55 +0700 Message-ID: Subject: Re: scheduled tasks To: user@couchdb.apache.org Content-Type: multipart/alternative; boundary=000e0cd3291c2cac12048c589b51 X-Virus-Checked: Checked by ClamAV on apache.org --000e0cd3291c2cac12048c589b51 Content-Type: text/plain; charset=UTF-8 On Tue, Jul 27, 2010 at 03:57, Nils Breunese wrote: > Python is a programming language, not a scheduler. (Although I'm sure there > are scheduler libraries and things like that for Python.) What do you mean > by 'works better than cron'? Yes, if you need sub-minute precision you'll > need to look elsewhere since cron doesn't support that, but otherwise I > wouldn't go and write code to do what a scheduler like cron already provides > (and it's usually already running anyway). > I have worked a ton with cron as a sysadmin. I have also worked with BackgrounDRb which FWIW I like. People take for granted how hard it is to write a stable job runner. Cron is ubiquitous and mature and well-understood by programmers and sysadmins. The one thing against cron is that it is a little out-of-band from your software's normal code. When installing, you have to remember to hook into cron. Eventually all of my projects have dedicated code just to *install* other code into cron. Finally, the CouchDB _changes feed is not directly related to job scheduling and periodic tasks. However it can be used to implement them. The implementation (which, yes, I am writing up in the Couchio blog) is robust for the same reason Erlang is robust: loosely-coupled components independently send messages to each other. -- Jason Smith Couchio Hosting --000e0cd3291c2cac12048c589b51--