Loading ...
Sorry, an error occurred while loading the content.

Re: [bang-phpug] Re: Multithreading in php

Expand Messages
  • Amit Rana
    In this case what Vaijnath suggested will work pretty well. You dont even want to wait for child processes to finish. Just fork out different processes for
    Message 1 of 9 , Jan 9, 2008
    • 0 Attachment
      In this case what Vaijnath suggested will work pretty
      well. You dont even want to wait for child processes
      to finish. Just fork out different processes for
      copying. Just code intelligently so that all processes
      dont end up working on same rows.

      Regards,
      Amit.

      --- Anand Subramanian <axsubram@...> wrote:

      >
      > Here is my application flow. There is no UI
      > involved.
      > We have a PHP program that reads an xml file
      > (normally containing 5000+ records).
      > Each of the record can contain one or more links for
      > photos. The photos are stored in a diff server/diff
      > domain.
      > Our php program. will read the records, insert into
      > db (this gets done pretty fast)
      > Then it copies the photos for each record - this
      > normally takes 5-8 hours to copy (5000+ photos)
      > What I want to do is to run multiple processes to do
      > this copy in parallel, so that i can have say 5
      > processes doing this copy .
      >
      >
      > thanks
      >
      > Anand
      >
      >
      >
      >
      >
      >
      > Hi Vaijnath,
      >
      >
      >
      > Thats what I meant, php 'as a language' doesn't
      >
      > support muti threading there are ways to do it curl
      >
      > being one, fork being other, depends on 'what' you
      >
      > want to do.
      >
      >
      >
      > Anand,
      >
      > What exactly do you want to do? keep a web page
      > open
      >
      > (maintain session) for hours while your background
      >
      > process finishes?
      >
      > Can you share your application flow?
      >
      >
      >
      > Regards,
      >
      > Amit.
      >
      >
      >
      > ____________ _________ _________ _________ _________
      > _________ _
      >
      > Never miss a thing. Make Yahoo your home page.
      >
      > http://www.yahoo com/r/hs
      >
      >
      >
      >
      >
      >
      >
      >
      >
      >
      >
      >
      > <!--
      >
      > #ygrp-mkp{
      > border:1px solid
      > #d8d8d8;font-family:Arial;margin:14px
      > 0px;padding:0px 14px;}
      > #ygrp-mkp hr{
      > border:1px solid #d8d8d8;}
      > #ygrp-mkp #hd{
      >
      color:#628c2a;font-size:85%;font-weight:bold;line-height:122%;margin:10px
      > 0px;}
      > #ygrp-mkp #ads{
      > margin-bottom:10px;}
      > #ygrp-mkp .ad{
      > padding:0 0;}
      > #ygrp-mkp .ad a{
      > color:#0000ff;text-decoration:none;}
      > -->
      >
      >
      >
      > <!--
      >
      > #ygrp-sponsor #ygrp-lc{
      > font-family:Arial;}
      > #ygrp-sponsor #ygrp-lc #hd{
      > margin:10px
      >
      0px;font-weight:bold;font-size:78%;line-height:122%;}
      > #ygrp-sponsor #ygrp-lc .ad{
      > margin-bottom:10px;padding:0 0;}
      > -->
      >
      >
      >
      > <!--
      >
      > #ygrp-mlmsg {font-size:13px;font-family:arial,
      > helvetica, clean, sans-serif;}
      > #ygrp-mlmsg table {font-size:inherit;font:100%;}
      > #ygrp-mlmsg select, input, textarea {font:99% arial,
      > helvetica, clean, sans-serif;}
      > #ygrp-mlmsg pre, code {font:115% monospace;}
      > #ygrp-mlmsg * {line-height:1.22em;}
      > #ygrp-text{
      > font-family:Georgia;
      > }
      > #ygrp-text p{
      > margin:0 0 1em 0;}
      > #ygrp-tpmsgs{
      > font-family:Arial;
      > clear:both;}
      > #ygrp-vitnav{
      >
      padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
      > #ygrp-vitnav a{
      > padding:0 1px;}
      > #ygrp-actbar{
      > clear:both;margin:25px
      > 0;white-space:nowrap;color:#666;text-align:right;}
      > #ygrp-actbar .left{
      > float:left;white-space:nowrap;}
      > .bld{font-weight:bold;}
      > #ygrp-grft{
      > font-family:Verdana;font-size:77%;padding:15px 0;}
      > #ygrp-ft{
      > font-family:verdana;font-size:77%;border-top:1px
      > solid #666;
      > padding:5px 0;
      > }
      > #ygrp-mlmsg #logo{
      > padding-bottom:10px;}
      >
      > #ygrp-vital{
      >
      background-color:#e0ecee;margin-bottom:20px;padding:2px
      > 0 8px 8px;}
      > #ygrp-vital #vithd{
      >
      font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-transform:uppercase;}
      > #ygrp-vital ul{
      > padding:0;margin:2px 0;}
      > #ygrp-vital ul li{
      > list-style-type:none;clear:both;border:1px solid
      > #e0ecee;
      > }
      > #ygrp-vital ul li .ct{
      >
      font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;padding-right:.5em;}
      > #ygrp-vital ul li .cat{
      > font-weight:bold;}
      > #ygrp-vital a{
      > text-decoration:none;}
      >
      > #ygrp-vital a:hover{
      > text-decoration:underline;}
      >
      > #ygrp-sponsor #hd{
      > color:#999;font-size:77%;}
      > #ygrp-sponsor #ov{
      > padding:6px
      > 13px;background-color:#e0ecee;margin-bottom:20px;}
      > #ygrp-sponsor #ov ul{
      > padding:0 0 0 8px;margin:0;}
      > #ygrp-sponsor #ov li{
      > list-style-type:square;padding:6px 0;font-size:77%;}
      > #ygrp-sponsor #ov li a{
      > text-decoration:none;font-size:130%;}
      > #ygrp-sponsor #nc{
      > background-color:#eee;margin-bottom:20px;padding:0
      > 8px;}
      > #ygrp-sponsor .ad{
      > padding:8px 0;}
      > #ygrp-sponsor .ad #hd1{
      >
      font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;}
      > #ygrp-sponsor .ad a{
      > text-decoration:none;}
      > #ygrp-sponsor .ad a:hover{
      > text-decoration:underline;}
      > #ygrp-sponsor .ad p{
      > margin:0;}
      > o{font-size:0;}
      > .MsoNormal{
      > margin:0 0 0 0;}
      > #ygrp-text tt{
      > font-size:120%;}
      > blockquote{margin:0 0 0 4px;}
      > .replbq{margin:4;}
      > -->
      >
      >
      >
      >
      >
      >
      >
      >
      >
      >
      ____________________________________________________________________________________
      > Looking for last minute shopping deals?
      > Find them fast with Yahoo! Search.
      http://tools.search.yahoo.com/newsearch/category.php?category=shopping



      ____________________________________________________________________________________
      Looking for last minute shopping deals?
      Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping
    • ganu.ullu@gmail.com
      FYI http://www.phpclasses.org/browse/package/1136.html this gives just an idea. but as per the above discussion. the multiple curl and exec will do your job.
      Message 2 of 9 , Jan 9, 2008
      • 0 Attachment
        FYI
        http://www.phpclasses.org/browse/package/1136.html
        this gives just an idea.

        but as per the above discussion.
        the multiple curl and exec will do your job.


        On 1/9/08, Amit Rana <amitrana77@...> wrote:
        >
        > In this case what Vaijnath suggested will work pretty
        > well. You dont even want to wait for child processes
        > to finish. Just fork out different processes for
        > copying. Just code intelligently so that all processes
        > dont end up working on same rows.
        >
        > Regards,
        > Amit.
        >
        > --- Anand Subramanian <axsubram@... <axsubram%40yahoo.com>> wrote:
        >
        > >
        > > Here is my application flow. There is no UI
        > > involved.
        > > We have a PHP program that reads an xml file
        > > (normally containing 5000+ records).
        > > Each of the record can contain one or more links for
        > > photos. The photos are stored in a diff server/diff
        > > domain.
        > > Our php program. will read the records, insert into
        > > db (this gets done pretty fast)
        > > Then it copies the photos for each record - this
        > > normally takes 5-8 hours to copy (5000+ photos)
        > > What I want to do is to run multiple processes to do
        > > this copy in parallel, so that i can have say 5
        > > processes doing this copy .
        > >
        > >
        > > thanks
        > >
        > > Anand
        > >
        > >
        > >
        > >
        > >
        > >
        > > Hi Vaijnath,
        > >
        > >
        > >
        > > Thats what I meant, php 'as a language' doesn't
        > >
        > > support muti threading there are ways to do it curl
        > >
        > > being one, fork being other, depends on 'what' you
        > >
        > > want to do.
        > >
        > >
        > >
        > > Anand,
        > >
        > > What exactly do you want to do? keep a web page
        > > open
        > >
        > > (maintain session) for hours while your background
        > >
        > > process finishes?
        > >
        > > Can you share your application flow?
        > >
        > >
        > >
        > > Regards,
        > >
        > > Amit.
        > >
        > >
        > >
        > > ____________ _________ _________ _________ _________
        > > _________ _
        > >
        > > Never miss a thing. Make Yahoo your home page.
        > >
        > > http://www.yahoo com/r/hs
        > >
        > >
        > >
        > >
        > >
        > >
        > >
        > >
        > >
        > >
        > >
        > >
        > > <!--
        > >
        > > #ygrp-mkp{
        > > border:1px solid
        > > #d8d8d8;font-family:Arial;margin:14px
        > > 0px;padding:0px 14px;}
        > > #ygrp-mkp hr{
        > > border:1px solid #d8d8d8;}
        > > #ygrp-mkp #hd{
        > >
        > color:#628c2a;font-size:85%;font-weight:bold;line-height:122%;margin:10px
        > > 0px;}
        > > #ygrp-mkp #ads{
        > > margin-bottom:10px;}
        > > #ygrp-mkp .ad{
        > > padding:0 0;}
        > > #ygrp-mkp .ad a{
        > > color:#0000ff;text-decoration:none;}
        > > -->
        > >
        > >
        > >
        > > <!--
        > >
        > > #ygrp-sponsor #ygrp-lc{
        > > font-family:Arial;}
        > > #ygrp-sponsor #ygrp-lc #hd{
        > > margin:10px
        > >
        > 0px;font-weight:bold;font-size:78%;line-height:122%;}
        > > #ygrp-sponsor #ygrp-lc .ad{
        > > margin-bottom:10px;padding:0 0;}
        > > -->
        > >
        > >
        > >
        > > <!--
        > >
        > > #ygrp-mlmsg {font-size:13px;font-family:arial,
        > > helvetica, clean, sans-serif;}
        > > #ygrp-mlmsg table {font-size:inherit;font:100%;}
        > > #ygrp-mlmsg select, input, textarea {font:99% arial,
        > > helvetica, clean, sans-serif;}
        > > #ygrp-mlmsg pre, code {font:115% monospace;}
        > > #ygrp-mlmsg * {line-height:1.22em;}
        > > #ygrp-text{
        > > font-family:Georgia;
        > > }
        > > #ygrp-text p{
        > > margin:0 0 1em 0;}
        > > #ygrp-tpmsgs{
        > > font-family:Arial;
        > > clear:both;}
        > > #ygrp-vitnav{
        > >
        > padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
        > > #ygrp-vitnav a{
        > > padding:0 1px;}
        > > #ygrp-actbar{
        > > clear:both;margin:25px
        > > 0;white-space:nowrap;color:#666;text-align:right;}
        > > #ygrp-actbar .left{
        > > float:left;white-space:nowrap;}
        > > .bld{font-weight:bold;}
        > > #ygrp-grft{
        > > font-family:Verdana;font-size:77%;padding:15px 0;}
        > > #ygrp-ft{
        > > font-family:verdana;font-size:77%;border-top:1px
        > > solid #666;
        > > padding:5px 0;
        > > }
        > > #ygrp-mlmsg #logo{
        > > padding-bottom:10px;}
        > >
        > > #ygrp-vital{
        > >
        > background-color:#e0ecee;margin-bottom:20px;padding:2px
        > > 0 8px 8px;}
        > > #ygrp-vital #vithd{
        > >
        >
        > font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-transform:uppercase;}
        > > #ygrp-vital ul{
        > > padding:0;margin:2px 0;}
        > > #ygrp-vital ul li{
        > > list-style-type:none;clear:both;border:1px solid
        > > #e0ecee;
        > > }
        > > #ygrp-vital ul li .ct{
        > >
        >
        > font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;padding-right:.5em;}
        > > #ygrp-vital ul li .cat{
        > > font-weight:bold;}
        > > #ygrp-vital a{
        > > text-decoration:none;}
        > >
        > > #ygrp-vital a:hover{
        > > text-decoration:underline;}
        > >
        > > #ygrp-sponsor #hd{
        > > color:#999;font-size:77%;}
        > > #ygrp-sponsor #ov{
        > > padding:6px
        > > 13px;background-color:#e0ecee;margin-bottom:20px;}
        > > #ygrp-sponsor #ov ul{
        > > padding:0 0 0 8px;margin:0;}
        > > #ygrp-sponsor #ov li{
        > > list-style-type:square;padding:6px 0;font-size:77%;}
        > > #ygrp-sponsor #ov li a{
        > > text-decoration:none;font-size:130%;}
        > > #ygrp-sponsor #nc{
        > > background-color:#eee;margin-bottom:20px;padding:0
        > > 8px;}
        > > #ygrp-sponsor .ad{
        > > padding:8px 0;}
        > > #ygrp-sponsor .ad #hd1{
        > >
        >
        > font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;}
        > > #ygrp-sponsor .ad a{
        > > text-decoration:none;}
        > > #ygrp-sponsor .ad a:hover{
        > > text-decoration:underline;}
        > > #ygrp-sponsor .ad p{
        > > margin:0;}
        > > o{font-size:0;}
        > > .MsoNormal{
        > > margin:0 0 0 0;}
        > > #ygrp-text tt{
        > > font-size:120%;}
        > > blockquote{margin:0 0 0 4px;}
        > > .replbq{margin:4;}
        > > -->
        > >
        > >
        > >
        > >
        > >
        > >
        > >
        > >
        > >
        > >
        > __________________________________________________________
        > > Looking for last minute shopping deals?
        > > Find them fast with Yahoo! Search.
        > http://tools.search.yahoo.com/newsearch/category.php?category=shopping
        >
        > __________________________________________________________
        > Looking for last minute shopping deals?
        > Find them fast with Yahoo! Search.
        > http://tools.search.yahoo.com/newsearch/category.php?category=shopping
        >
        >
        >


        [Non-text portions of this message have been removed]
      Your message has been successfully submitted and would be delivered to recipients shortly.