Drush: includes/batch.inc File Reference

  1. 7.x doxygen/html/includes_2batch_8inc.html
  2. master doxygen/html/includes_2batch_8inc.html
batch.inc File Reference

Go to the source code of this file.

Classes

class  DrushBatchContext

Functions

 drush_backend_batch_process ($command= 'batch-process', $args=array(), $options=array())
 drush_batch_command ($id)

Detailed Description

Drush batch API.

This file contains a fork of the Drupal Batch API that has been drastically simplified and tailored to Drush's unique use case.

The existing API is very targeted towards environments that are web accessible, and would frequently attempt to redirect the user which would result in the drush process being completely destroyed with no hope of recovery.

While the original API does offer a 'non progressive' mode which simply calls each operation in sequence within the current process, in most implementations (D6), it would still attempt to redirect unless very specific conditions were met.

When operating in 'non progressive' mode, Drush would experience the problems that the API was written to solve in the first place, specifically that processes would exceed the available memory and exit with an error.

Each major release of Drupal has also had slightly different implementations of the batch API, and this provides a uniform interface to all of these implementations.

Definition in file batch.inc.

Function Documentation

drush_backend_batch_process (   $command = 'batch-process',
  $args = array(),
  $options = array() 
)

Process a Drupal batch by spawning multiple Drush processes.

This function will include the correct batch engine for the current major version of Drupal, and will make use of the drush_backend_invoke system to spawn multiple worker threads to handle the processing of the current batch, while keeping track of available memory.

The batch system will process as many batch sets as possible until the entire batch has been completed or half of the available memory has been used.

This function is a drop in replacement for the existing batch_process() function of Drupal.

Parameters
commandThe command to call for the back end process. By default this will be the 'backend-process' command, but some commands such as updatedb will have special initialization requirements, and will need to define and use their own command.

Definition at line 70 of file batch.inc.

References _drush_backend_batch_process(), drush_drupal_major_version(), drush_include_engine(), and drush_user_get_class().

Referenced by _pm_get_update_info(), drush_unit_batch(), and drush_update_batch().

Here is the call graph for this function:

Here is the caller graph for this function:

drush_batch_command (   $id)

Process sets from the specified batch.

This function is called by the worker process that is spawned by the drush_backend_batch_process function.

The command called needs to call this function after it's special bootstrap requirements have been taken care of.

Definition at line 87 of file batch.inc.

References _drush_batch_command(), drush_drupal_major_version(), and drush_include_engine().

Referenced by drush_core_batch_process().

Here is the call graph for this function:

Here is the caller graph for this function:

File

doxygen/html/includes_2batch_8inc.html
View source
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Drush: includes/batch.inc File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Drush
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_09e761304027c904456130627fd4dcf5.html">includes</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">batch.inc File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a href="includes_2batch_8inc_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDrushBatchContext.html">DrushBatchContext</a></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a706c51a974d149cdc701f47f9843143b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="includes_2batch_8inc.html#a706c51a974d149cdc701f47f9843143b">drush_backend_batch_process</a> ($command= 'batch-process', $args=array(), $options=array())</td></tr>
<tr class="memitem:af470f96043a86e75e72cb186abf518ce"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="includes_2batch_8inc.html#af470f96043a86e75e72cb186abf518ce">drush_batch_command</a> ($id)</td></tr>
</table>
<a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Drush batch API.</p>
<p>This file contains a fork of the Drupal Batch API that has been drastically simplified and tailored to Drush's unique use case.</p>
<p>The existing API is very targeted towards environments that are web accessible, and would frequently attempt to redirect the user which would result in the drush process being completely destroyed with no hope of recovery.</p>
<p>While the original API does offer a 'non progressive' mode which simply calls each operation in sequence within the current process, in most implementations (D6), it would still attempt to redirect unless very specific conditions were met.</p>
<p>When operating in 'non progressive' mode, Drush would experience the problems that the API was written to solve in the first place, specifically that processes would exceed the available memory and exit with an error.</p>
<p>Each major release of Drupal has also had slightly different implementations of the batch API, and this provides a uniform interface to all of these implementations. </p>

<p>Definition in file <a class="el" href="includes_2batch_8inc_source.html">batch.inc</a>.</p>
</div><h2>Function Documentation</h2>
<a class="anchor" id="a706c51a974d149cdc701f47f9843143b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">drush_backend_batch_process </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$command</em> = <code>'batch-process'</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$args</em> = <code>array()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$options</em> = <code>array()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Process a Drupal batch by spawning multiple Drush processes.</p>
<p>This function will include the correct batch engine for the current major version of Drupal, and will make use of the drush_backend_invoke system to spawn multiple worker threads to handle the processing of the current batch, while keeping track of available memory.</p>
<p>The batch system will process as many batch sets as possible until the entire batch has been completed or half of the available memory has been used.</p>
<p>This function is a drop in replacement for the existing batch_process() function of Drupal.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">command</td><td>The command to call for the back end process. By default this will be the 'backend-process' command, but some commands such as updatedb will have special initialization requirements, and will need to define and use their own command. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="includes_2batch_8inc_source.html#l00070">70</a> of file <a class="el" href="includes_2batch_8inc_source.html">batch.inc</a>.</p>

<p>References <a class="el" href="commands_2core_2drupal_2batch_8inc_source.html#l00017">_drush_backend_batch_process()</a>, <a class="el" href="includes_2drupal_8inc_source.html#l00077">drush_drupal_major_version()</a>, <a class="el" href="engines_8inc_source.html#l00479">drush_include_engine()</a>, and <a class="el" href="user_8drush_8inc_source.html#l00240">drush_user_get_class()</a>.</p>

<p>Referenced by <a class="el" href="commands_2pm_2update__info_2drupal_8inc_source.html#l00090">_pm_get_update_info()</a>, <a class="el" href="unit_8drush_8inc_source.html#l00099">drush_unit_batch()</a>, and <a class="el" href="update_8inc_source.html#l00157">drush_update_batch()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="includes_2batch_8inc_a706c51a974d149cdc701f47f9843143b_cgraph.png" border="0" usemap="#includes_2batch_8inc_a706c51a974d149cdc701f47f9843143b_cgraph" alt=""/></div>
<map name="includes_2batch_8inc_a706c51a974d149cdc701f47f9843143b_cgraph" id="includes_2batch_8inc_a706c51a974d149cdc701f47f9843143b_cgraph">
<area shape="rect" id="node3" href="commands_2core_2drupal_2batch_8inc.html#aaf9128a2dbd643871368ffdc18216a76" title="_drush_backend_batch\l_process" alt="" coords="204,110,359,157"/><area shape="rect" id="node5" href="includes_2drupal_8inc.html#ad2ccab77d4bc8e7355186f26cd328ac0" title="drush_drupal_major\l_version" alt="" coords="1373,126,1507,173"/><area shape="rect" id="node118" href="user_8drush_8inc.html#a9391875688c0d7b0ba392d6e0adbe704" title="drush_user_get_class" alt="" coords="409,7,559,36"/><area shape="rect" id="node124" href="engines_8inc.html#a91df31f18b0a1d05540ccaf85e6d9a88" title="drush_include_engine" alt="" coords="616,213,763,243"/><area shape="rect" id="node13" href="group__errorhandling.html#ga33fe8456b3dc49a0e28e7f63692a0d44" title="drush_get_error" alt="" coords="428,161,540,191"/><area shape="rect" id="node16" href="group__dispatching.html#ga125471885af052278a0874446b332cf9" title="drush_invoke_process" alt="" coords="408,679,560,708"/><area shape="rect" id="node7" href="includes_2drupal_8inc.html#a203e989fd043d054d774954e2b2dff21" title="drush_drupal_version" alt="" coords="1601,213,1745,243"/><area shape="rect" id="node9" href="context_8inc.html#ad25559f8d7d753f636fbeac347c29fc5" title="drush_get_context" alt="" coords="1844,652,1972,681"/><area shape="rect" id="node11" href="includes_2drupal_8inc.html#aa7ac001ed15d678fa533b54d962eb5bc" title="drush_drupal_load_autoloader" alt="" coords="1811,213,2005,243"/><area shape="rect" id="node18" href="sitealias_8inc.html#a0dd349885b59373b8a067d7589d096e7" title="drush_sitealias_resolve\l_sitespecs" alt="" coords="611,1281,768,1327"/><area shape="rect" id="node41" href="group__logging.html#gad820f489a93518301794ada4ff7816b6" title="drush_log" alt="" coords="1401,625,1479,655"/><area shape="rect" id="node47" href="group__outputfunctions.html#ga1218abcb1e27dd3bb412113d1e344d96" title="dt" alt="" coords="1167,212,1204,241"/><area shape="rect" id="node50" href="sitealias_8inc.html#a0665329c1176b30398fa27ee5cd10423" title="drush_sitealias_simplify\l_names" alt="" coords="609,730,769,777"/><area shape="rect" id="node52" href="context_8inc.html#a559008f6decb23108b83e704208e415e" title="drush_get_option_override" alt="" coords="1099,679,1272,708"/><area shape="rect" id="node59" href="backend_8inc.html#a7852d5448cd4ee3a2082eccd24d690e7" title="drush_backend_invoke\l_concurrent" alt="" coords="612,921,767,967"/><area shape="rect" id="node20" href="sitealias_8inc.html#ac2f57b80441374522c4e4cdc3b7e0c2b" title="drush_sitealias_get\l_record" alt="" coords="1119,1311,1252,1358"/><area shape="rect" id="node38" href="sitealias_8inc.html#a79d866a010f76b7d6ec47ab2a72a0c43" title="drush_sitealias_resolve\l_sitelist" alt="" coords="844,1281,1001,1327"/><area shape="rect" id="node22" href="sitealias_8inc.html#a448de5768a772d33e44f86cfefe070ac" title="_drush_sitealias_get\l_record" alt="" coords="1369,1285,1511,1331"/><area shape="rect" id="node28" href="sitealias_8inc.html#a9e6067d5c022f5ee598fd0da886931a0" title="drush_sitealias_local\l_site_path" alt="" coords="1603,1354,1744,1401"/><area shape="rect" id="node30" href="sitealias_8inc.html#ab58274361a02348f2d3ebf640686480b" title="drush_sitealias_uri\l_to_site_dir" alt="" coords="1843,1354,1973,1401"/><area shape="rect" id="node34" href="sitealias_8inc.html#a49723d857350c5f3501001cede845fa5" title="drush_sitealias_lookup\l_alias_by_path" alt="" coords="1363,1354,1517,1401"/><area shape="rect" id="node25" href="includes_2environment_8inc.html#a88114295372bcb0ca8dbb5f10b36368e" title="drush_is_windows" alt="" coords="2055,1204,2183,1233"/><area shape="rect" id="node44" href="backend_8inc.html#a38490210d77373f3d8492caf4e9a3190" title="drush_backend_packet" alt="" coords="1596,625,1751,655"/><area shape="rect" id="node54" href="context_8inc.html#add3af7aa09b1ccf49718577a8d7aa61d" title="drush_sitealias_get\l_option" alt="" coords="1373,730,1507,777"/><area shape="rect" id="node56" href="context_8inc.html#afe91fb3e5219ecb2208c3b036b1f0cb8" title="drush_get_option" alt="" coords="1613,831,1733,860"/><area shape="rect" id="node62" href="backend_8inc.html#a895f14d30af875ea1783a3de2355d095" title="_drush_backend_adjust\l_options" alt="" coords="844,851,1001,898"/><area shape="rect" id="node64" href="backend_8inc.html#aff4e2427168bc7585fcfa5eca6a94af0" title="_drush_backend_get\l_global_contexts" alt="" coords="852,921,993,967"/><area shape="rect" id="node70" href="includes_2command_8inc.html#aed341ec21a59c794b73f7ba031825632" title="drush_command_get_command\l_specific_options" alt="" coords="820,990,1025,1037"/><area shape="rect" id="node74" href="backend_8inc.html#a20dd75d8a0d75a4e59db35c8918d1d8a" title="_drush_backend_classify\l_options" alt="" coords="839,782,1007,829"/><area shape="rect" id="node79" href="group__commandwrappers.html#ga1292121e5bdd4bf19ef4f944b16301ed" title="drush_os" alt="" coords="1403,903,1477,932"/><area shape="rect" id="node82" href="includes_2environment_8inc.html#a8839a1aae14125ef4128d1477827ca0e" title="drush_build_drush_command" alt="" coords="1345,1057,1535,1087"/><area shape="rect" id="node96" href="backend_8inc.html#aa9bff3ffcd61a4dd945b567057a54e5d" title="_drush_backend_generate\l_command" alt="" coords="1099,1110,1272,1157"/><area shape="rect" id="node100" href="backend_8inc.html#ad19c067bfbd87dfc63c55659723aaf60" title="_drush_backend_argument\l_string" alt="" coords="1351,1215,1529,1262"/><area shape="rect" id="node105" href="backend_8inc.html#a1d3f3caae7e1300c53e2cc1fe4ffb932" title="_drush_backend_invoke" alt="" coords="841,551,1004,580"/><area shape="rect" id="node66" href="drush_8inc.html#acb0a26e79bcbdd1152d59a6916a35aae" title="drush_get_global_options" alt="" coords="1101,852,1269,881"/><area shape="rect" id="node72" href="includes_2command_8inc.html#ada5bfda5bb64c19886f7253e30a58de2" title="drush_command_normalize_name" alt="" coords="1076,1007,1295,1036"/><area shape="rect" id="node77" href="sitealias_8inc.html#a4345c09c2ecb4793246075f06c146fec" title="drush_sitealias_site\l_selection_keys" alt="" coords="1117,782,1253,829"/><area shape="rect" id="node84" href="includes_2environment_8inc.html#afd2e0babc825c7c524b1fb28cde88532" title="_drush_get_os" alt="" coords="1855,1036,1961,1065"/><area shape="rect" id="node89" href="group__commandwrappers.html#gafc52f7e769d935b4d2462467cdf8d5ee" title="drush_escapeshellarg" alt="" coords="1600,1140,1747,1169"/><area shape="rect" id="node92" href="context_8inc.html#ae7691e4635dc346aae09eb3f0bbd6092" title="drush_get_context_options" alt="" coords="1584,985,1763,1015"/><area shape="rect" id="node111" href="group__errorhandling.html#ga23fe9e1e8c1e5ade39256106044b6da4" title="drush_set_error" alt="" coords="1129,423,1241,452"/><area shape="rect" id="node114" href="includes_2command_8inc.html#a19eba9666aba673a64fbd78a2c5ef4f9" title="drush_command_invoke_all" alt="" coords="1349,369,1531,399"/><area shape="rect" id="node120" href="drush_8inc.html#ac0c5cc8dc02832fb068ca98efd0712c4" title="drush_get_class" alt="" coords="631,7,748,36"/><area shape="rect" id="node126" href="engines_8inc.html#ae94a82d80d5e90cb126de1f16a7f8fe4" title="drush_get_engines" alt="" coords="857,317,988,347"/><area shape="rect" id="node140" href="drush_8inc.html#a80ce43b30f833522f72180811dab5a3e" title="drush_include" alt="" coords="872,161,973,191"/><area shape="rect" id="node128" href="engines_8inc.html#a50374de188af3d1cb754476607b9c375" title="drush_get_engine_types_info" alt="" coords="1091,369,1280,399"/><area shape="rect" id="node133" href="includes_2command_8inc.html#ad51d79509a4a134947703f3e58564444" title="drush_commandfile_list" alt="" coords="1595,344,1752,373"/><area shape="rect" id="node136" href="includes_2command_8inc.html#a2ce77284c0002dda3a5d0527e583e017" title="drush_command_hook" alt="" coords="1109,265,1261,295"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="includes_2batch_8inc_a706c51a974d149cdc701f47f9843143b_icgraph.png" border="0" usemap="#includes_2batch_8inc_a706c51a974d149cdc701f47f9843143b_icgraph" alt=""/></div>
<map name="includes_2batch_8inc_a706c51a974d149cdc701f47f9843143b_icgraph" id="includes_2batch_8inc_a706c51a974d149cdc701f47f9843143b_icgraph">
<area shape="rect" id="node3" href="commands_2pm_2update__info_2drupal_8inc.html#afa1132bbe8f4d56b787a9a93d4971871" title="_pm_get_update_info" alt="" coords="203,5,349,35"/><area shape="rect" id="node7" href="unit_8drush_8inc.html#ae381f2b0e4bd97806103a439b9af1b0c" title="drush_unit_batch" alt="" coords="216,59,336,88"/><area shape="rect" id="node9" href="update_8inc.html#acb7719984816f5c3fcf003a93e8a9947" title="drush_update_batch" alt="" coords="207,112,345,141"/><area shape="rect" id="node5" href="updatestatus_8pm_8inc.html#a3572a412477acf53f0917d723fdfa3d9" title="drush_pm_updatestatus" alt="" coords="399,5,559,35"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="af470f96043a86e75e72cb186abf518ce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">drush_batch_command </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Process sets from the specified batch.</p>
<p>This function is called by the worker process that is spawned by the drush_backend_batch_process function.</p>
<p>The command called needs to call this function after it's special bootstrap requirements have been taken care of. </p>

<p>Definition at line <a class="el" href="includes_2batch_8inc_source.html#l00087">87</a> of file <a class="el" href="includes_2batch_8inc_source.html">batch.inc</a>.</p>

<p>References <a class="el" href="commands_2core_2drupal_2batch_8inc_source.html#l00081">_drush_batch_command()</a>, <a class="el" href="includes_2drupal_8inc_source.html#l00077">drush_drupal_major_version()</a>, and <a class="el" href="engines_8inc_source.html#l00479">drush_include_engine()</a>.</p>

<p>Referenced by <a class="el" href="core_8drush_8inc_source.html#l01111">drush_core_batch_process()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="includes_2batch_8inc_af470f96043a86e75e72cb186abf518ce_cgraph.png" border="0" usemap="#includes_2batch_8inc_af470f96043a86e75e72cb186abf518ce_cgraph" alt=""/></div>
<map name="includes_2batch_8inc_af470f96043a86e75e72cb186abf518ce_cgraph" id="includes_2batch_8inc_af470f96043a86e75e72cb186abf518ce_cgraph">
<area shape="rect" id="node3" href="commands_2core_2drupal_2batch_8inc.html#afa58efbd11be795ce39d4d14f4ac35e0" title="_drush_batch_command" alt="" coords="212,5,375,35"/><area shape="rect" id="node7" href="includes_2drupal_8inc.html#ad2ccab77d4bc8e7355186f26cd328ac0" title="drush_drupal_major\l_version" alt="" coords="884,99,1017,146"/><area shape="rect" id="node32" href="engines_8inc.html#a91df31f18b0a1d05540ccaf85e6d9a88" title="drush_include_engine" alt="" coords="220,264,367,293"/><area shape="rect" id="node5" href="commands_2core_2drupal_2batch_8inc.html#a1e3ba040027e50c90258295d7a70aec0" title="_drush_batch_finished" alt="" coords="639,5,791,35"/><area shape="rect" id="node18" href="commands_2core_2drupal_2batch_8inc.html#a10c0d541fd31cfed1eed4caed37e30fa" title="_drush_batch_worker" alt="" coords="424,200,571,229"/><area shape="rect" id="node15" href="context_8inc.html#aa4b55e2f6174c8b6efaa8f23a0f9e0af" title="drush_set_option" alt="" coords="1109,55,1229,84"/><area shape="rect" id="node9" href="includes_2drupal_8inc.html#a203e989fd043d054d774954e2b2dff21" title="drush_drupal_version" alt="" coords="1097,135,1241,164"/><area shape="rect" id="node11" href="context_8inc.html#ad25559f8d7d753f636fbeac347c29fc5" title="drush_get_context" alt="" coords="1329,240,1457,269"/><area shape="rect" id="node13" href="includes_2drupal_8inc.html#aa7ac001ed15d678fa533b54d962eb5bc" title="drush_drupal_load_autoloader" alt="" coords="1296,135,1491,164"/><area shape="rect" id="node20" href="group__logging.html#gad820f489a93518301794ada4ff7816b6" title="drush_log" alt="" coords="912,213,989,243"/><area shape="rect" id="node26" href="drush_8inc.html#a78afaf6bac26a5964c39db973deb0783" title="drush_memory_limit" alt="" coords="645,160,784,189"/><area shape="rect" id="node28" href="group__outputfunctions.html#ga1218abcb1e27dd3bb412113d1e344d96" title="dt" alt="" coords="696,264,733,293"/><area shape="rect" id="node23" href="backend_8inc.html#a38490210d77373f3d8492caf4e9a3190" title="drush_backend_packet" alt="" coords="1092,265,1247,295"/><area shape="rect" id="node34" href="engines_8inc.html#ae94a82d80d5e90cb126de1f16a7f8fe4" title="drush_get_engines" alt="" coords="432,369,563,399"/><area shape="rect" id="node40" href="group__errorhandling.html#ga23fe9e1e8c1e5ade39256106044b6da4" title="drush_set_error" alt="" coords="659,317,771,347"/><area shape="rect" id="node54" href="drush_8inc.html#a80ce43b30f833522f72180811dab5a3e" title="drush_include" alt="" coords="447,133,548,163"/><area shape="rect" id="node36" href="engines_8inc.html#a50374de188af3d1cb754476607b9c375" title="drush_get_engine_types_info" alt="" coords="620,371,809,400"/><area shape="rect" id="node47" href="includes_2command_8inc.html#ad51d79509a4a134947703f3e58564444" title="drush_commandfile_list" alt="" coords="872,449,1029,479"/><area shape="rect" id="node50" href="includes_2command_8inc.html#a2ce77284c0002dda3a5d0527e583e017" title="drush_command_hook" alt="" coords="639,424,791,453"/><area shape="rect" id="node38" href="includes_2command_8inc.html#a19eba9666aba673a64fbd78a2c5ef4f9" title="drush_command_invoke_all" alt="" coords="860,371,1041,400"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="includes_2batch_8inc_af470f96043a86e75e72cb186abf518ce_icgraph.png" border="0" usemap="#includes_2batch_8inc_af470f96043a86e75e72cb186abf518ce_icgraph" alt=""/></div>
<map name="includes_2batch_8inc_af470f96043a86e75e72cb186abf518ce_icgraph" id="includes_2batch_8inc_af470f96043a86e75e72cb186abf518ce_icgraph">
<area shape="rect" id="node3" href="core_8drush_8inc.html#abffb38d0c5a78975e70033cb09f57ecb" title="drush_core_batch_process" alt="" coords="211,5,389,35"/></map>
</div>
</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Oct 8 2014 09:04:54 for Drush by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.1.2
</small></address>
</body>
</html>