{"id":6696,"date":"2020-07-06T13:04:00","date_gmt":"2020-07-06T18:04:00","guid":{"rendered":"https:\/\/www.rushworth.us\/lisa\/?p=6696"},"modified":"2020-07-30T21:44:16","modified_gmt":"2020-07-31T02:44:16","slug":"php-sub-second-sleep","status":"publish","type":"post","link":"https:\/\/www.rushworth.us\/lisa\/?p=6696","title":{"rendered":"PHP Sub-Second Sleep"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">I needed to add a sleep to a PHP process, but I didn&#8217;t want to waste a whole second on each cycle. That&#8217;s usleep:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n&lt;?php\n        date_default_timezone_set(&#039;America\/New_York&#039;);\n\n        $t = microtime(true);\n        $micro = sprintf(&quot;%06d&quot;,($t - floor($t)) * 1000000);\n        $d = new DateTime( date(&#039;Y-m-d H:i:s.&#039;.$micro, $t) );\n\n        print $d-&gt;format(&quot;Y-m-d H:i:s.u&quot;) . &quot;\\n&quot;;                                                                       \n        usleep(100000);\n\n        $t = microtime(true);\n        $micro = sprintf(&quot;%06d&quot;,($t - floor($t)) * 1000000);\n        $d = new DateTime( date(&#039;Y-m-d H:i:s.&#039;.$micro, $t) );\n\n        print $d-&gt;format(&quot;Y-m-d H:i:s.u&quot;)  . &quot;\\n&quot;;                                                                      \n        sleep(1);\n        $t = microtime(true);\n        $micro = sprintf(&quot;%06d&quot;,($t - floor($t)) * 1000000);\n        $d = new DateTime( date(&#039;Y-m-d H:i:s.&#039;.$micro, $t) );\n\n        print $d-&gt;format(&quot;Y-m-d H:i:s.u&quot;)  . &quot;\\n&quot;;                                                                      \n?&gt;\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Run the script, and you&#8217;ll see sub-second sleeps. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[tempuser@564240601ac2 \/]# php testSleep.php<br>2020-07-09 14:06:20.641449<br>2020-07-09 14:06:20.741952<br>2020-07-09 14:06:21.742347<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I needed to add a sleep to a PHP process, but I didn&#8217;t want to waste a whole second on each cycle. That&#8217;s usleep: Run the script, and you&#8217;ll see sub-second sleeps. [tempuser@564240601ac2 \/]# php testSleep.php2020-07-09 14:06:20.6414492020-07-09 14:06:20.7419522020-07-09 14:06:21.742347<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[35],"class_list":["post-6696","post","type-post","status-publish","format-standard","hentry","category-coding","tag-php"],"_links":{"self":[{"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/posts\/6696","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6696"}],"version-history":[{"count":2,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/posts\/6696\/revisions"}],"predecessor-version":[{"id":6806,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/posts\/6696\/revisions\/6806"}],"wp:attachment":[{"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6696"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6696"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6696"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}