Как вы работаете с сельдереем? Я не знаком с резьбовым вариантом.
Если он работает с несколькими процессами, то нет никаких «глобальных» переменных, разделяющих память между рабочими.
Если вы хотите, чтобы счетчик распределялся между всеми работниками, я бы посоветовал вам использовать cache.incr
.
например:.
In [1]: from django.core.cache import cache
In [2]: cache.set('counter',0)
In [3]: cache.incr('counter')
Out[3]: 1
In [4]: cache.incr('counter')
Out[4]: 2
Обновление
Что произойдет, если вы заставите свои задачи накладываться на сон, например ::
print "Task on %r started" % (self,)
sleep(20)
print "Task on %r stopped" % (self,)
Если вы не получаете «уже используется ...» от запуска этого более часто, чем 20 секунд, то вы знаете, что кеш работает не так, как ожидалось.
Другое обновление
Вы установили кеш-бэкэнд в настройках django? Например. Memcached
Если нет, возможно, вы используете Dummy Cache , , который фактически не выполняет никакого кеширования, просто реализует интерфейс ..., который звучит как убедительная причина вашего проблема.