我以前使用过请求,但后来我转向 aiohttp + asyncio 来并行运行帐户,但是我无法将逻辑放在我的脑海中。
class Faked(object):
def __init__(self):
self.database = sqlite3.connect('credentials.db')
async def query_login(self, email):
print(email)
cur = self.database.cursor()
sql_q = """SELECT * from user WHERE email='{0}'""".format(email)
users = cur.execute(sql_q)
row = users.fetchone()
if row is None:
raise errors.ToineyError('No user was found with email: ' + email + ' in database!')
self.logger().debug("Logging into account '{0}'!".format(row[0]))
call_func = await self._api.login(data={'email': row[0],
'password': row[1],
'deviceId': row[2],
'aaid': row[3]})
return await call_func
async def send_friend_request(self, uid):
return await self._api.send_friend_request(uid)
def main(funcs, data=None):
"""
todo: fill
:rtype: object
"""
tasks = []
if isinstance(funcs, list):
for func in funcs:
tasks.append(func)
else:
tasks.append(funcs)
print(tasks)
loop = asyncio.get_event_loop()
results = loop.run_until_complete(asyncio.gather(*tasks))
for result in results:
print(result)
return results
if __name__ == '__main__': # for testing purposes mostly
emails = ['email@hotmail.com', 'email@outlook.com', 'email@gmail.com']
我基本上只是想知道如何对多个函数进行排队,在这种情况下,query_login 和 send_friend_request,同时还将正确的数据传递给上述函数,假设我同时在一个社交媒体应用程序上运行三个帐户,这真的让我大吃一惊,虽然我有使事情过于复杂的倾向,但任何帮助将不胜感激。
吃鸡游戏
相关分类