### Queues ## lug_db_q - is the queue where I put the info read from the db ## of the lugs ## lug_data_q - is the queue where I put the result of my process ## fetching data lug_db_q = Queue() lug_data_q = Queue() ### Counter ## num_elem - is the number of lug read from the db ## num_read - is the number of result read the the lug_data_q num_elem = 0 num_read = 0 ## Database in ZODB db, zodb = zodb_conn_open(config.ZODB_DB) lug_db = read_db() for row in lug_db.values(): lug_db_q.put(row) num_elem = num_elem + 1 for num in range(config.P_NUMBER): lug_db_q.put("DIE") ## Start P_NUMBER process to fetch data proc_list = list() for num in range(config.P_NUMBER): proc_list.append(Process(target=mp_fill_lug, name=num, args=(lug_db_q, lug_data_q))) proc_list[-1].start()
the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. ''' import lug import config import time import utils from check import fetch_site db, zodb = utils.zodb_conn_open("/tmp/zodb_test") name="ansa" url="http://www.ansa.it" b = fetch_site(name,url) if not zodb.has_key(name): zodb[name] = lug.LUG(name) zodb[name].update_data(b) for mesg in zodb[name].messages: print(mesg) utils.zodb_conn_close(db)