0
sqlloader
セッションを開くためにthreading
モジュールを使用しましたが、うまくいきました。 asyncio
モジュール(コルーチン)を使用して同じ程度の並列性を達成するのにトラブルがあります。Python/co-routineを使用して負荷をOracleに並列化することはできますか?
このコードは常にPythonの3.5に順次ロード:
import asyncio
async def load_data(filename):
loadConf=('sqlldr SKIP=%s %s userid=%s DATA=%s control=%s LOG=%s.log BAD=%s.bad DISCARD=/dev/null' % (...)).split(' ')
p = Popen(loadConf, stdin=PIPE, stdout=PIPE, stderr=STDOUT, shell=False, env=os.environ)
output, err = p.communicate(pwd.encode())
status=p.wait()
async def main():
await asyncio.wait([load_data(file1),load_data(file2)])
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
魅力的に働いた、ありがとう – olekb