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

Re: Multithreading in php

Expand Messages
  • 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 1 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 2 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 3 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.