Как выбрать task_id с использованием сельдерея? - PullRequest
4 голосов
/ 29 июля 2010

Пока я получаю task_id из async_result и должен сохранить его, чтобы получить его позже. Было бы лучше, если бы я знал, из чего сделан task_id, чтобы я мог вычислить его обратно вместо извлечения из БД. E.G: поставить задачу с task_id=("%s-%s" % (user_id, datetime)).

1 Ответ

4 голосов
/ 01 августа 2010

Вы, конечно, можете использовать «натуральные идентификаторы», но тогда, чтобы быть действительно полезными, они должны быть обратимыми, что не сработает, если вы добавите эту метку времени.Кроме того, идентификаторы уникальны, поэтому две задачи не могут иметь один и тот же идентификатор (поведение тогда не определено)

Если у вас есть задача обновить временную шкалу пользователя Twitter, то вы знаете, что хотите толькоодна задача выполняется для каждого идентификатора пользователя в любое время, поэтому вы можете использовать естественный идентификатор, например:

"update-twitter-timeline-%s" % (user_id)

, и всегда иметь возможность получить результат для этой задачи или отозватьзадание, использующее этот идентификатор, не нужно вручную где-то его хранить и искать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...