ハローが定義されていない、私はpython
を使用してPostgreSQLの私はPythonとマルチのモジュールを使用して、私はグローバル使用するときに、エラーが発生していること、グローバル名が
に分散データベースを比較したい、とmultiprocessing
を使用して私は
ことを、グローバルランダム4を定義したときマルチロールをシミュレートするために、私は4ランダムを作成し、その実行時間
を計算したいが、
グローバル名「」
が定義されていない、私はこの問題を解決する方法がわからない(すべてのループのために、ランダム4は、分散データベースとposgresqlで同じ値を持つ必要があります)
ここに私がいますコード
#coding=utf-8
import psycopg2
import random
import multiprocessing
conn = psycopg2.connect("dbname=test user=higis password=dbrgdbrg host=10.1.1.215 port=5432")
cur = conn.cursor()
#test-SQl operate
def multitest(num):
global a
global b
global c
global d
a = random.randint(74,135)
b = random.randint(18,53)
c = random.randint(74,135)
d = random.randint(18,53)
if a>c:
a=c
if b>d:
b=d
try:
sqltest = "SELECT ogc_fid FROM testindex_1 WHERE ST_MAKEENVELOPE" + str((a,b,c,d,4326))+str("&& wkb_geometry")
cur.execute(sqltest)
#print cur.fetchall()
except Exception, e:
print e
#citus-SQL operate
def multicitus(num):
try:
sqlcitus = "SELECT ogc_fid FROM citusindex_1 WHERE ST_MAKEENVELOPE" + str((a, b, c, d, 4326)) + str(
"&& wkb_geometry")
cur.execute(sqlcitus)
#print cur.fetchall()
except Exception,e:
print e
#test-multi-process
if __name__ =="__main__":
nums = 5
for num in range(nums):
p = multiprocessing.Process(target=multitest,args=(num,))
#print 'process a %d is start'%num
p.start()
p.join()
#citus-multi-process
for num in range(nums):
q = multiprocessing.Process(target=multicitus,args=(num,))
#print 'process b %d is start'%num
q.start()
q.join()
cur.close()
conn.close()
キューとは異なりますか? – user82538