Tworzenie metody asynchronicznej za pomocą NDB Google App Engine
Chcę się upewnić, że udało mi się stworzyć zadania i metody asynchroniczne. Mam metodę, która zwraca listę. Chcę, żeby gdzieś zadzwoniono i natychmiast zezwolono na wykonywanie innych połączeń. Więc mam to:
future_1 = get_updates_for_user(userKey, aDate)
future_2 = get_updates_for_user(anotherUserKey, aDate)
somelist.extend(future_1)
somelist.extend(future_2)
....
@ndb.tasklet
def get_updates_for_user(userKey, lastSyncDate):
noteQuery = ndb.GqlQuery('SELECT * FROM Comments WHERE ANCESTOR IS :1 AND modifiedDate > :2', userKey, lastSyncDate)
note_list = list()
qit = noteQuery.iter()
while (yield qit.has_next_async()):
note = qit.next()
noteDic = note.to_dict()
note_list.append(noteDic)
raise ndb.Return(note_list)
Czy ten kod robi to, czego oczekuję? Mianowicie, czy dwa połączenia będą uruchamiane asynchronicznie? Czy prawidłowo korzystam z kontraktów terminowych?
Edytować: Po testowaniu kod daje pożądane rezultaty. Jestem nowicjuszem w Pythonie - jakie są sposoby sprawdzenia, czy metody działają asynchronicznie?