def main(): print "Content-type: text/html\n\n" cgitb.enable() # process input form = cgi.FieldStorage() xml_feedback = form.getfirst('xmlFeedback', 'None') token_number = form.getfirst('token', 'None') # open database session = get_local_db_session() try: token = session.query(Token).filter_by(number=token_number).one() except NoResultFound: print "KO" return # insert the retrived dialogueID into the xmlFeedback xml_feedback = xml_feedback.replace( "<dialogueId></dialogueId>", "<dialogueId>" + token.submission.dialogue_id + "</dialogueId>") worker_id = get_worker_id(xml_feedback) phone = token.submission.dialogue_id.rsplit("-", 1)[1] try: curr_worker = session.query(Worker).filter_by( worker_id=worker_id).one() except NoResultFound: curr_worker = Worker(worker_id=worker_id, phone_number=phone) session.add(curr_worker) # save submitted data submission = token.submission submission.data = xml_feedback submission.worker = curr_worker submission.timestamp = datetime.datetime.now() # free token token.submission = None session.commit()
def register_worker(platform_info, environment): return db.register_worker(Worker(platform_info, environment))
import torch as th from utils import SharedAdam from model import Worker, Net import gym import torch.multiprocessing as mp env = gym.make('CartPole-v0') n_action = env.action_space.n n_state = env.observation_space.shape[0] global_net = Net(n_state, n_action) global_net.share_memory() optA = SharedAdam(global_net.policy.parameters(), lr=1e-4, betas=(0.92, 0.999)) optC = SharedAdam(global_net.v.parameters(), lr=1e-4, betas=(0.92, 0.999)) workers = [Worker(global_net, optA, optC, str(i)) for i in range(8)] [w.start() for w in workers] [w.join() for w in workers]