EV-Gearman

 view release on metacpan or  search on metacpan

src/EV__Gearman.xs  view on Meta::CPAN

        NULL, 0, r);
}

static void worker_send_pre_sleep(pTHX_ ev_gm_t *self) {
    if (!self->connected) return;
    if (self->worker_sleeping) return;
    self->worker_sleeping = 1;
    enqueue_packet(aTHX_ self, GM_CMD_PRE_SLEEP, NULL, 0, NULL);
}

/* Drive the worker loop forward: if active and not busy, GRAB. */
static void worker_continue(pTHX_ ev_gm_t *self) {
    if (!self->worker_active || !self->connected) return;
    if (self->worker_grab_inflight || self->worker_sleeping) return;
    if (ngx_queue_empty(&self->functions)) return;
    worker_send_grab(aTHX_ self);
}

/* ================================================================
 * Connect-success path: re-register worker functions, drain queue
 * ================================================================ */



( run in 1.149 second using v1.01-cache-2.11-cpan-600a1bdf6e4 )