|
1 | 1 | #!/usr/bin/env python3 |
2 | 2 | # -*- coding:utf-8 -*- |
3 | 3 |
|
4 | | -import os |
5 | | -import re |
6 | | -import time |
7 | | - |
8 | | -try: |
9 | | - import rapidjson as json |
10 | | -except: |
11 | | - import json |
12 | | - |
13 | 4 | try: |
14 | 5 | import requests |
15 | 6 | except Exception as e: |
|
23 | 14 | else: |
24 | 15 | print(e) |
25 | 16 |
|
26 | | -from multiprocessing import cpu_count, Pool |
| 17 | +from pathlib import os, sys |
27 | 18 | from pprint import pprint |
28 | 19 |
|
| 20 | +if getattr(sys, 'frozen', False): |
| 21 | + from multiprocessing.dummy import Pool, freeze_support |
| 22 | +else: |
| 23 | + from multiprocessing import Pool, freeze_support |
| 24 | + |
29 | 25 | try: |
30 | 26 | from Toolkit.analyse import AnalyseManager |
31 | 27 | from Toolkit.localRE import TaiwanAddressAnalizer |
|
37 | 33 | from .Toolkit.toolkits import * |
38 | 34 | from .Toolkit.NER import GenericNER |
39 | 35 |
|
| 36 | +import time |
| 37 | +try: |
| 38 | + import rapidjson as json |
| 39 | +except: |
| 40 | + import json |
40 | 41 |
|
41 | 42 | class MP_Articut: |
42 | | - def __init__(self, url="http://127.0.0.1", port="8964", bulkSize=20, userDefinedDictFILE=None): |
| 43 | + def __init__(self, url="http://127.0.0.1", port="8964", bulkSize=20, userDefinedDictFILE=None, processes=-1): |
| 44 | + freeze_support() |
43 | 45 | self.port = port |
44 | 46 | if url.startswith("http"): |
45 | 47 | self.url = "{}:{}".format(url, port) |
46 | 48 | else: |
47 | 49 | self.url = "http://{}:{}".format(url, port) |
48 | 50 | self.bulkSize = bulkSize |
49 | | - self.processes = cpu_count() |
50 | | - if self.processes > 8: |
51 | | - self.processes = 8 |
| 51 | + defaultProcesses = os.cpu_count() |
| 52 | + if processes > 0 and processes <= defaultProcesses: |
| 53 | + self.processes = processes |
| 54 | + else: |
| 55 | + self.processes = defaultProcesses |
| 56 | + if self.processes > 8: |
| 57 | + self.processes = 8 |
52 | 58 |
|
53 | 59 | self.userDefinedDictFILE = None |
54 | 60 | self.openDataPlaceAccessBOOL=False |
|
0 commit comments