tarantool / queue

Create task queues, add and take jobs, monitor failed tasks
Other
237 stars 52 forks source link

Возможность задавать свой идентификатор задачи #53

Closed ghost closed 7 years ago

ghost commented 7 years ago

Необходимо в произвольный момент времени вытаскивать произвольную задачу, ID которой мне известен. Можно дополнительно сохранять айдишники задач, но это оверхед, который подкидывает проблемы синхронизации, а возможность задавать свой идентификатор задачи решает проблему просто.

bigbes commented 7 years ago

Используйте on_task_change коллбек для манипуляции с ID задачами. Сохраняйте их в отдельном спейсе и используйте таким образом.

ghost commented 7 years ago

@bigbes, спасибо за совет. Но, по-моему, намного удобнее задавать свои айдишники и уже по ним вытаскивать задачи, при необходимости. Могу я узнать причину отказа?

bigbes commented 7 years ago

Возможность конфигурировать айдишники для тасок несет под собой пласт проблем, которые потенциально будет трудно откопать.

mougrim commented 7 years ago

@bigbes, пару вопросов в тему. Пласт проблем - имеется ввиду проблемы на стороне tarantool queue или на стороне приложения? С точки зрения приложения, имхо, все будет гораздо проще и понятнее, на одну запись в моей БД будет не более одной задачи в очереди, так же отложенную задачу можно будет легко обновлять. Использование on_task_change для меня не совсем прозрачно. Является ли этот процесс транзакционным? Т.е. может ли произойти такая ситуация, что задача в очереди есть, а записи в отдельном спэйсе нет? Так же при таком подходе может происходить дублирование задач для одной записи в моей БД, и что бы избежать его, придется это как-то разруливать на уровне приложения.

Получается, что вместо того, что бы оперировать id-шником из моей БД, мне придется для очереди делать кучу всего дополнительного, что вызывает вопросы и потенциально будет реализовано с багами, и с этим будет сталкиваться каждый каждый пользователь тарантула, у которого есть такая задача.

kostja commented 7 years ago

Господа, вы не хотите продолжить в Telegram? Github - прикольная штука для feature requests, но не подходит для обсуждений да ещё и на русском.

bigbes commented 7 years ago

И для приложения, и как следствие, для клиента. заходите на канал