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 )