Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.


#67 slashd should start/stop more robustly

Slash 2.3/2.4
Rob Malda
Daemons (15)
Jamie McCarthy

It would be nice if slashd trapped an inability to
contact the DB instead of making that a fatal error.
Even better if it pinged the DB right before each
task began, and on failure, just delayed the task
queue until the DB comes back up.

It may be best to just unlink the pid file in an END{}
block, since unexpected exits will always leave it

I'd still like to see slashd use Proc::ProcessTable
on startup if a pidfile is found, so that it can decide
for itself whether to defer to the file or unlink it and
continue startup.


  • Jamie McCarthy
    Jamie McCarthy

    • labels: 101848 -->
    • assigned_to: jamiemccarthy --> nobody
    • milestone: 131160 -->
  • Jamie McCarthy
    Jamie McCarthy

    • assigned_to: nobody --> jamiemccarthy
    • labels: --> Daemons
    • milestone: --> Slash 2.3/2.4
    • priority: 5 --> 6
  • Jamie McCarthy
    Jamie McCarthy

    Logged In: YES

    That last feature, using Proc::ProcessTable, is the most
    important one, I think. I find myself needing that a lot so
    I may just do this.

  • Jamie McCarthy
    Jamie McCarthy

    • priority: 6 --> 5
    • assigned_to: jamiemccarthy --> tvroom
  • Jamie McCarthy
    Jamie McCarthy

    Logged In: YES

    Checking for a dead DB before the start of each task is no longer
    very important, that hasn't happened for months (maybe over a
    year). It might not be a bad idea, but it isn't crucial.

    But we should do the other two things I mentioned -- unlink the
    pid file in an END {} block in slashd, and also use
    Proc::ProcessTable to determine whether an existing pid file is
    valid. If at startup there is a pid file but the pid given does not
    correspond to a currently running slashd process, simply unlink it,
    and continue starting up.

  • Tim Vroom
    Tim Vroom

    • priority: 5 --> 9
    • assigned_to: tvroom --> cmdrtaco
    • status: open --> open-fixed
  • Rob Malda
    Rob Malda

    • status: open-fixed --> closed-fixed