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

Re: Multithreading in php

Expand Messages
  • Amit Rana
    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
    Message 1 of 9 , Jan 7, 2008
    • 0 Attachment
      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
    • Anand Subramanian
      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
      Message 2 of 9 , Jan 8, 2008
      • 0 Attachment
        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

        [Non-text portions of this message have been removed]
      • pinky_goyal22
        with curl control returns on next line when the curl request completes.but if it a kind of multi threading support it should run multiple requests at the
        Message 3 of 9 , Jan 8, 2008
        • 0 Attachment
          with 'curl' control returns on next line when the curl request
          completes.but if it a kind of multi threading support it should run
          multiple requests at the same time.

          --- In bang-phpug@yahoogroups.com, "Amit Rana" <amitrana77@...> wrote:
          >
          > Hi,
          > Yes, there is no multi threading support in php but if you want to
          > start a parallel process you can curl (or start another http
          > request). Also depends what you want to do, getting content via ajax
          > is also a 'kind of' multi threading.
          >
          > On the server side if you are doing curl, dis advantage is that you
          > there is no way to inform the main thread about success/failure of
          > the child thread (if you dont want to wait).
          >
          > HTH
          >
          > --- In bang-phpug@yahoogroups.com, "pinky_goyal22" <pinks.forums@>
          > wrote:
          > >
          > > Hi All!
          > >
          > > does any one have idea about multi threading in php ???
          > > i have googled for the topic but didn't get much except php doesn't
          > > support multithreading.
          > >
          > > if any one have idea about it or have some good link please provide
          > me
          > > that.
          > >
          > > thanks in advance.
          > >
          > > pinky
          > >
          >
        • 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 4 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 5 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.