[PonyORM-list] trying to optimize the cache
Matthew Bell
matthewrobertbell at gmail.com
Tue May 27 11:35:14 UTC 2014
In my experience, this is likely to be a gevent + requests + lxml leak.
Here's the easy way to get around it: remove grequests, setup rq -
http://python-rq.org/ - (very easy). Create a simple function that takes an
ID, then does the scraping. do a loop over the
ids = xrange(12210, 150000) and schedule a job for each ID, run as
many workers as you wish. It may use a little more memory, but it
won't leak, due to rq cleaning up properly (forking for each job)
Pony / mysql will have no problems with you doing it this way. It's
sensible to run the rq workers under supervisor, with a config like:
[program:rq]
directory=/app_folder/
command=rqworker
process_name=%(process_num)02d
numprocs=6
autostart=true
autorestart=true
stopsignal=TERM
You can easily scale it to multiple machines if you wish, just point the
workers to the same redis and database :)
On 27 May 2014 10:37, Роман Рубан <ryr1986 at gmail.com> wrote:
> hello,
>
> https://gist.github.com/ryr/6a2d8997057a70be7eb3
> it's my working site crawler.
> it consumes 20gb+ of memory
>
> how to optimize the cache usage?
>
> _______________________________________________
> ponyorm-list mailing list
> ponyorm-list at ponyorm.com
> /ponyorm-list
>
>
--
Regards,
Matthew Bell
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </ponyorm-list/attachments/20140527/75f12ef9/attachment.html>
More information about the ponyorm-list
mailing list