def on_job(msg): 'Main Worker, Process the job.' print "Received Job: %r" % msg.body strJob = json.loads(msg.body) if strJob[0]=="job": SMB.sendStatus(strJob[1]) handle_Worker(strJob[1]) else: print "That's not My Job:" print "Head:",strJob[0] print "Body:",strJob[1] msg.ack()
def ConnectServer(self, host, port): if self.ep == 'ncan_ip_tcp': self.debug(0, 'Using ncan_ip_tcp endpoint') self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.sock.settimeout(self.timeout) try: self.debug(0, 'Connecting to ', host, ':', str(port)) self.sock.connect((host, port)) self.connected = 1 except: self.debug(0, 'Failed to connect') return False return True elif self.ep == 'ncan_np': self.debug(0, 'Using ncan_np endpoint') self.debug(0, 'Doing SMB Negotiation') try: self.sock = SMB.SMB(self.smb_serv_name, host, my_name=self.smb_my_name, sess_port=port, timeout=self.timeout) except SMB.SessionError: self.debug(1, 'SMB Negotiation Failed') return False self.debug(0, 'Doing SMB SessionSetupAndX') try: self.sock.login(self.smb_user, self.smb_pass) except SMB.SessionError: self.debug(1, 'SMB SessionSetupAndX Failed') return False self.debug(0, 'Connecting to SMB Share ', self.smb_share) try: self.smb_tid = self.sock.connect_tree(self.smb_share, '?????\x00', self.smb_pass) except SMB.SessionError: self.debug(1, 'Failed to connected to share: ', self.smb_share) return False self.debug(0, 'Opening named pipe ', self.smb_pipe, ' for reading/writing') try: self.smb_fid = self.sock.nt_create(self.smb_tid, self.smb_pipe) except SMB.SessionError: self.debug(1, 'Failed to open pipe: ', self.smb_pipe) return False self.connected = 1 return True else: self.debug(1, 'Unknown DCERPC endpoint') return False
def dispatch_jobs(ch): print "Dispatch Jobs: Job one. " job = build_Job(r'Job One') SMB.send_job(job)
def on_connect(): SMB.createStatusChannel() SMB.createJobsSender() handle_Dispatcher() #Call task dispatcher delegate.
import logging from tornado.ioloop import IOLoop from stormed import Connection, Message import simplejson as json import SMB #================================================================= global handle_Dispatcher def on_connect(): SMB.createStatusChannel() SMB.createJobsSender() handle_Dispatcher() #Call task dispatcher delegate. def build_Job(jobCMD): strJob = ["job","do job"] strJob[1] = jobCMD strJob = json.dumps(strJob) msgJob = Message(strJob) return msgJob #Just for test. def dispatch_jobs(ch): print "Dispatch Jobs: Job one. " job = build_Job(r'Job One') SMB.send_job(job) if __name__ == '__main__': handle_Dispatcher = dispatch_jobs SMB.start(on_connect)
def do_job(job): SMB.sendStatus("Job Begin: %r"%job) print "Doing Job:", job time.sleep(2) SMB.sendStatus("Job Finish: %r"%job)
def on_connect(): SMB.createStatusChannel() SMB.createJobsReceiver(on_job)
def dispatchJobs(): for i in range(0, 10): job = build_Job(r'Job %2d' % i) print "Dispatch Job:", i SMB.send_job(job)
Desc: The dispatch jobs example, show the code logic. Author: WangEQ, SuperMap GIS Institute. All rights reserved. """ import math import time import sys import logging from tornado.ioloop import IOLoop from stormed import Connection, Message import simplejson as json import SMB import SMB_Dispatch #================================================================= def dispatchJobs(): for i in range(0, 10): job = build_Job(r'Job %2d' % i) print "Dispatch Job:", i SMB.send_job(job) if __name__ == '__main__': SMB_Dispatch.handle_Dispatcher = dispatchJobs SMB.start(SMB_Dispatch.on_connect)
def dispatchJobs(): for i in range(0, 10): job = build_Job(r"Job %2d" % i) print "Dispatch Job:", i SMB.send_job(job)
SMPP,SuperMap Parallel Processor Desc: The dispatch jobs example, show the code logic. Author: WangEQ, SuperMap GIS Institute. All rights reserved. """ import math import time import sys import logging from tornado.ioloop import IOLoop from stormed import Connection, Message import simplejson as json import SMB import SMB_Dispatch # ================================================================= def dispatchJobs(): for i in range(0, 10): job = build_Job(r"Job %2d" % i) print "Dispatch Job:", i SMB.send_job(job) if __name__ == "__main__": SMB_Dispatch.handle_Dispatcher = dispatchJobs SMB.start(SMB_Dispatch.on_connect)
def do_job(job): print "Job ToUDB:", job SMB.sendStatus("Job Begin: %r"%job) SMUP_Image.Tif2UDBOne(job,"H:\SRTM\UDB",False) SMB.sendStatus("Job Finish: %r"%job)
def do_gms(job): print "Job ToUDB:", job SMB.sendStatus("Job Begin: %r"%job) runGMS(job) SMB.sendStatus("Job Finish: %r"%job)
def do_empty(job): SMB.sendStatus("Job Empty: %r"%job)
# coding: GB2312 #!/usr/bin/env python """ SMPP,SuperMap Parallel Processor Desc: The Worker example to process jobs from SMB. Author: WangEQ, SuperMap GIS Institute. All rights reserved. """ import math import time import sys import SMB import SMB_Worker #================================================================= def do_job(job): print "Do Job:", job SMB.sendStatus("Job Begin: %r"%job) print "Doing something:", job time.sleep(2) SMB.sendStatus("Job Finish: %r"%job) if __name__ == '__main__': SMB_Worker.handle_Processor = do_job SMB.start(SMB_Worker.on_connect)