没有
cleanroom的Python项目详细描述
洁净室
安装:
pip install cleanroom
在新进程中创建实例并代理所有操作:
importosimporttimefromcleanroomimportcreate_instance,CleanroomArgsclassCal:def__init__(self,base):self.base=basedefinc(self):self.base+=1returnself.basedefpid(self,sleep=None):ifsleep:time.sleep(sleep)returnos.getpid()cal=create_instance(Cal,CleanroomArgs(0))print('Parent PID: ',os.getpid())print('Cal PID: ',cal.pid())print('inc: ',cal.inc())print('inc: ',cal.inc())
输出:
Parent PID: 22239 Cal PID: 22272 inc: 1 inc: 2
在随机访问下创建多个实例调度程序:
fromcleanroomimportcreate_scheduler,create_instances_under_schedulerscheduler=create_scheduler(instances=5,scheduler_type='random_access')create_instances_under_scheduler(scheduler,Cal,CleanroomArgs(0))print('Parent PID: ',os.getpid())for_inrange(20):pid=scheduler.pid(sleep=1)print(time.ctime(),'Cal PID:',pid)
输出:
Parent PID: 4376 Thu May 23 14:00:59 2019 Cal PID: 4399 Thu May 23 14:01:00 2019 Cal PID: 4403 Thu May 23 14:01:01 2019 Cal PID: 4397 Thu May 23 14:01:02 2019 Cal PID: 4397 Thu May 23 14:01:03 2019 Cal PID: 4403 Thu May 23 14:01:04 2019 Cal PID: 4399 Thu May 23 14:01:05 2019 Cal PID: 4395 Thu May 23 14:01:06 2019 Cal PID: 4401 Thu May 23 14:01:07 2019 Cal PID: 4399 Thu May 23 14:01:08 2019 Cal PID: 4395 Thu May 23 14:01:09 2019 Cal PID: 4401 Thu May 23 14:01:10 2019 Cal PID: 4401 Thu May 23 14:01:11 2019 Cal PID: 4403 Thu May 23 14:01:12 2019 Cal PID: 4395 Thu May 23 14:01:13 2019 Cal PID: 4397 Thu May 23 14:01:14 2019 Cal PID: 4403 Thu May 23 14:01:15 2019 Cal PID: 4401 Thu May 23 14:01:16 2019 Cal PID: 4395 Thu May 23 14:01:17 2019 Cal PID: 4395 Thu May 23 14:01:18 2019 Cal PID: 4397
在批处理随机访问下创建多个实例
输出: 这个包是用Cookiecutter和audreyr/cookiecutter-pypackage项目模板创建的。scheduler=create_scheduler(instances=5,scheduler_type='batch_random_access')create_instances_under_scheduler(scheduler,Cal,CleanroomArgs(0))print('Parent PID: ',os.getpid())forpidinscheduler.pid(CleanroomArgs(sleep=1)for_inrange(20)):print(time.ctime(),'Cal PID:',pid)
Parent PID: 4376
Thu May 23 14:04:47 2019 Cal PID: 4429
Thu May 23 14:04:47 2019 Cal PID: 4433
Thu May 23 14:04:47 2019 Cal PID: 4435
Thu May 23 14:04:48 2019 Cal PID: 4433
Thu May 23 14:04:48 2019 Cal PID: 4437
Thu May 23 14:04:49 2019 Cal PID: 4429
Thu May 23 14:04:49 2019 Cal PID: 4433
Thu May 23 14:04:49 2019 Cal PID: 4437
Thu May 23 14:04:49 2019 Cal PID: 4431
Thu May 23 14:04:49 2019 Cal PID: 4435
Thu May 23 14:04:50 2019 Cal PID: 4429
Thu May 23 14:04:51 2019 Cal PID: 4431
Thu May 23 14:04:51 2019 Cal PID: 4435
Thu May 23 14:04:51 2019 Cal PID: 4431
Thu May 23 14:04:51 2019 Cal PID: 4437
Thu May 23 14:04:53 2019 Cal PID: 4429
Thu May 23 14:04:53 2019 Cal PID: 4431
Thu May 23 14:04:53 2019 Cal PID: 4429
Thu May 23 14:04:53 2019 Cal PID: 4437
Thu May 23 14:04:53 2019 Cal PID: 4437
学分
历史记录
0.1.0(2019-05-10)
- pypi上的第一个版本。