Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Веб-разработка и фреймворки > Django, async


Автор: uranpro 21.3.2011, 12:52
Добрый день!

Нужно сделать что-то типа этого:
Код

@transaction.commit_on_success
def update_data():
    # ...
    pass

def index(request):
    if not data_is_now_updating() and data_is_old():
        async(update_data())

    return # data

как реализовать data_is_now_updating и async?

До commit`a будут старые данные? даже если внутри update_data() удаляются записи?

Автор: uranpro 21.3.2011, 16:46
сделал так:
Код

class DataAsyncUpdate(threading.Thread):
    @transaction.commit_on_success()
    def run(self):
        if data_need_update():
            # ...
# ...
data_update_async = DataAsyncUpdate()
# ...
def index(request):
    if not data_update_async.isAlive():
        data_update_async.run()
    # ...

но происходит не асинхронно(страница открывается после обновления данных)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)