Я думал об этом и, возможна, например, такая схема:

# client
register_callback($subref,$client_id);

# server
put($client_id,$task) {
  ...
  $queue->{$client_id}->{$nextid}->{task} = $task;
  &{$queue->{$client_id}->{subref}}() if $queue->{$client_id}->{subref};
}

Конечно, в реальности клиент отдельно, база отдельно, раздающий задачи отдельно и между ними только сеть и надо еще иметь очередь коллбеков, потому что они должны выполняться последовательно, но вроде такая схема должна быть вполне возможна без лупов.

13.01.2013 5:16, Daniel Podolsky пишет:
А какие еще есть хорошие инструменты решить такую задачу, помня о том, что я
хочу коллбек, а не луп?
ну мы же понимаем, что за любым коллбеком от очереди прячется луп.
иначе - какая же она очередь...


--
Best Regards,
Nick Knutov
http://knutov.com
ICQ: 272873706
Voice: +7-904-84-23-130
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить