1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
3  <head>
4    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5    <meta http-equiv="Content-Style-Type" content="text/css" />
6    <link rel="stylesheet" href="../../../css/manpage.css" type="text/css" />
7<title>StartBgImmediate</title>
8  </head>
9  <body>
10<h1><CODE><a href="../../../nn/Overview.html">nn</a>::<a href="../../../nn/boss/Overview.html">boss</a>::<a href="../../../nn/boss/Task/Overview.html">Task</a>::StartBgImmediate</CODE> Member Function</h1>
11<h2>Syntax</h2>
12    <div class="section">
13      <pre class="definition">
14<a href="../../../nn/Result/Overview.html">nn::Result</a> StartBgImmediate(
15     void
16);
17</pre>
18    </div>
19<h2>Parameters</h2>
20    <div class="section">
21<p>None.</p>
22    </div>
23<h2>Return Values</h2>
24<div class="section">Returns the function's execution result. Returns one of the <a href="../../../nn/Result/Overview.html"><CODE>Result</CODE></A> values listed below. <br />
25      <table class="arguments">
26        <thead>
27          <tr>
28<th>Value</th>
29<td>Description</td>
30          </tr>
31        </thead>
32        <tr>
33<th><CODE>Result::IsSuccess</CODE></th>
34<td>Successfully issued the instruction to start the task.</td>
35        </tr>
36        <tr>
37<th><CODE>ResultInvalidTaskId</CODE></th>
38<td>The task ID pointer is <CODE>NULL</CODE> or a zero-length string.</td>
39        </tr>
40        <tr>
41<th><CODE>ResultTaskNotExist</CODE></th>
42<td>The specified task ID was not found. Confirm whether it is registered yet.</td>
43        </tr>
44        <tr>
45<th><CODE>ResultIpcNotSessionInitialized</CODE></th>
46<td>The session has not been initialized. This result is returned if this function is called before the <CODE><a href="../../../nn/boss/Task/Initialize.html">Initialize</A></CODE> function. Always call the <a href="../../../nn/boss/Task/Initialize.html"><CODE>Initialize</CODE></a> function first thing when you use the BOSS library. </td>
47        </tr>
48        <tr>
49<th>A value other than the above.</th>
50<td>Unexpected error (see <CODE>boss_Result.h</CODE> for error details).</td>
51        </tr>
52      </table> </div>
53<h2>Description</h2>
54    <div class="section">
55<p>Gives an instruction to start the task immediately in the background.</p><p>Scheduled tasks run automatically in the background whenever infrastructure connections are possible. Except for the first time a task is run, this function behaves the same as the <CODE><a href="../../../nn/boss/Task/Start.html">Start</a></CODE> function. The first time a task is run, the <CODE><a href="../../../nn/boss/Task/Start.html">Start</a></CODE> function runs after waiting for the task execution interval.<br />When calling this function, the call causes it to wait for the first task execution time, so the initial task after calling is run immediately as soon as an Internet connection is established.<br />(Consequently, calling this function while connected to the Internet and when the application has allowed BOSS operations while the application is running, the task runs immediately in the background.<br />However, even in such circumstances, task execution will wait until any other running tasks complete.)<br /></p><p>Note that calling this function on tasks already instructed to run (such as tasks for which you have already called the <CODE><a href="../../../nn/boss/Task/Start.html">Start</a></CODE> function) does not change anything.<br />To tell such tasks to run immediately in the background, you must first call the <CODE><a href="../../../nn/boss/Task/Cancel.html">Cancel</a></CODE> function and then call this function.</p><p>When a task finishes running, the execution count specified in the task's attributes is decremented by 1 regardless of whether task execution resulted in an error. Unless this results in a remaining execution count of 0, the task will run again after the execution interval specified in the task's attributes has elapsed. <br /><B>Note:</B>After its execution count reaches zero, a task is sometimes deleted automatically if the internal database is filled to capacity.<br /><br /><B>Note:</B> In the following circumstances, tasks won't be executed even if the instruction is issued to start a task.<br />• The task's execution count is 0.<br />• The task's execution priority is <CODE>PRIORITY_STOPPED</CODE>.<br />• Parental Controls are in effect and are not disabled by the task attributes.<br />• The user has not yet agreed to the EULA, and the requirement to agree to the EULA is not disabled by the task attributes.<br />• Task execution was stopped by the policy list.<br />• The server hosting the download service issued a &quot;service suspended&quot; notice.<br />• The administrator has temporarily stopped all tasks.<br /><br />The <a href="../../../nn/boss/Task/GetCount.html"><CODE>GetCount</CODE></A> function can be used to confirm whether the task execution count is the relevant case among those listed above. You can tell when the administrator has temporarily stopped all tasks because <CODE>TASK_PAUSED</CODE> is returned by the <CODE><a href="../../../nn/boss/Task/GetState.html">GetState</a></CODE> function for all running tasks.<br /><br />The following methods can be used to wait for task completion.<br />・Wait for execution to complete with using <a href="../../../nn/boss/Task/WaitFinish.html"><CODE>WaitFinish</CODE></a> function. <br />・Specify a maximum waiting time and wait for execution to complete using the <a href="../../../nn/boss/Task/WaitFinish.html"><CODE>WaitFinish</CODE></a> function. <br />・Use the <a href="../../../nn/boss/Task/GetState.html"><CODE>GetState</CODE></a> function to poll for completed tasks.<br />・Wait for a &quot;new arrival&quot; event using an <CODE>Event</CODE> registered by the <a href="../../../nn/boss/RegisterNewArrivalEvent.html"><CODE>RegisterNewArrivalEvent</CODE></a> function.<br /> Once you detect that a task has completed, you can check its state using the <a href="../../../nn/boss/Task/GetState.html"><CODE>GetState</CODE></a> function, its execution result code using the <a href="../../../nn/boss/Task/GetResult.html"><CODE>GetResult</CODE></a> function, and the HTTP communication result code using the <a href="../../../nn/boss/Task/GetHttpStatusCode.html"><CODE>GetHttpStatusCode</CODE></a> function. You can also get other details with the <a href="../../../nn/boss/Task/GetStateDetail.html"><CODE>GetStateDetail</CODE></A> function.<br /><br /></p><!-- write here --></div>
56<h2>Revision History</h2>
57    <div class="section">
58      <dl class="history">
59        <dt>2011/10/27</dt>
60<dd>Initial version.<br />
61        </dd>
62      </dl>
63    </div>
64  <hr><p>CONFIDENTIAL</p></body>
65</html>