<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://secure.freeside.biz/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Freeside%3A3%3ADocumentation%3ADeveloper%2FFS%2Fqueue</id>
		<title>Freeside:3:Documentation:Developer/FS/queue - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://secure.freeside.biz/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Freeside%3A3%3ADocumentation%3ADeveloper%2FFS%2Fqueue"/>
		<link rel="alternate" type="text/html" href="https://secure.freeside.biz/mediawiki/index.php?title=Freeside:3:Documentation:Developer/FS/queue&amp;action=history"/>
		<updated>2026-08-15T18:48:20Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.27.7</generator>

	<entry>
		<id>https://secure.freeside.biz/mediawiki/index.php?title=Freeside:3:Documentation:Developer/FS/queue&amp;diff=8986&amp;oldid=prev</id>
		<title>Jeremyd: Edit via perl MediaWiki framework (1.13)</title>
		<link rel="alternate" type="text/html" href="https://secure.freeside.biz/mediawiki/index.php?title=Freeside:3:Documentation:Developer/FS/queue&amp;diff=8986&amp;oldid=prev"/>
				<updated>2015-09-28T14:22:49Z</updated>
		
		<summary type="html">&lt;p&gt;Edit via perl MediaWiki framework (1.13)&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 14:22, 28 September 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l36&quot; &gt;Line 36:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 36:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; secure&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; secure&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:Secure flag, 'Y' indicates that when using encryption, the job needs to be run on a machine with the private key.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:Secure flag, 'Y' indicates that when using encryption, the job needs to be run on a machine with the private key.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; usernum&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:For access_user that created the job&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==METHODS==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==METHODS==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l68&quot; &gt;Line 68:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 70:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; update_statustext VALUE&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;; update_statustext VALUE&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:Updates the statustext value of this job to supplied value, in the database. If there is an error, returns the error, otherwise returns false.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:Updates the statustext value of this job to supplied value, in the database. If there is an error, returns the error, otherwise returns false.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; access_user&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:Returns FS::access_user object (if any) associated with this user.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:Returns nothing if not found.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==SUBROUTINES==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==SUBROUTINES==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jeremyd</name></author>	</entry>

	<entry>
		<id>https://secure.freeside.biz/mediawiki/index.php?title=Freeside:3:Documentation:Developer/FS/queue&amp;diff=7255&amp;oldid=prev</id>
		<title>Ivan: Edit via perl MediaWiki framework (1.13)</title>
		<link rel="alternate" type="text/html" href="https://secure.freeside.biz/mediawiki/index.php?title=Freeside:3:Documentation:Developer/FS/queue&amp;diff=7255&amp;oldid=prev"/>
				<updated>2012-06-28T04:06:04Z</updated>
		
		<summary type="html">&lt;p&gt;Edit via perl MediaWiki framework (1.13)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==NAME==&lt;br /&gt;
FS::queue - Object methods for queue records&lt;br /&gt;
&lt;br /&gt;
==SYNOPSIS==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  use FS::queue;&lt;br /&gt;
 &lt;br /&gt;
  $record = new FS::queue \%hash;&lt;br /&gt;
  $record = new FS::queue { 'column' =&amp;gt; 'value' };&lt;br /&gt;
 &lt;br /&gt;
  $error = $record-&amp;gt;insert;&lt;br /&gt;
 &lt;br /&gt;
  $error = $new_record-&amp;gt;replace($old_record);&lt;br /&gt;
 &lt;br /&gt;
  $error = $record-&amp;gt;delete;&lt;br /&gt;
 &lt;br /&gt;
  $error = $record-&amp;gt;check;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
==DESCRIPTION==&lt;br /&gt;
An FS::queue object represents an queued job. FS::queue inherits from FS::Record. The following fields are currently supported:&lt;br /&gt;
&lt;br /&gt;
; jobnum&lt;br /&gt;
:Primary key&lt;br /&gt;
; job&lt;br /&gt;
:Fully-qualified subroutine name&lt;br /&gt;
; status&lt;br /&gt;
:Job status (new, locked, or failed)&lt;br /&gt;
; statustext&lt;br /&gt;
:Freeform text status message&lt;br /&gt;
; _date&lt;br /&gt;
:UNIX timestamp&lt;br /&gt;
; svcnum&lt;br /&gt;
:Optional link to service (see [[Freeside:3:Documentation:Developer/FS/cust svc|FS::cust_svc]]).&lt;br /&gt;
; custnum&lt;br /&gt;
:Optional link to customer (see [[Freeside:3:Documentation:Developer/FS/cust main|FS::cust_main]]).&lt;br /&gt;
; secure&lt;br /&gt;
:Secure flag, 'Y' indicates that when using encryption, the job needs to be run on a machine with the private key.&lt;br /&gt;
&lt;br /&gt;
==METHODS==&lt;br /&gt;
; new HASHREF&lt;br /&gt;
:Creates a new job. To add the job to the database, see [[#insert|&amp;quot;insert&amp;quot;]].&lt;br /&gt;
&lt;br /&gt;
:Note that this stores the hash reference, not a distinct copy of the hash it points to. You can ask the object for a copy with the ''hash'' method.&lt;br /&gt;
; insert [ ARGUMENT, ARGUMENT... ]&lt;br /&gt;
:Adds this record to the database. If there is an error, returns the error, otherwise returns false.&lt;br /&gt;
&lt;br /&gt;
:If any arguments are supplied, a queue_arg record for each argument is also created (see [[Freeside:3:Documentation:Developer/FS/queue arg|FS::queue_arg]]).&lt;br /&gt;
; delete&lt;br /&gt;
:Delete this record from the database. Any corresponding queue_arg records are deleted as well&lt;br /&gt;
; replace OLD_RECORD&lt;br /&gt;
:Replaces the OLD_RECORD with this one in the database. If there is an error, returns the error, otherwise returns false.&lt;br /&gt;
; check&lt;br /&gt;
:Checks all fields to make sure this is a valid job. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods.&lt;br /&gt;
; args&lt;br /&gt;
:Returns a list of the arguments associated with this job.&lt;br /&gt;
; cust_svc&lt;br /&gt;
:Returns the FS::cust_svc object associated with this job, if any.&lt;br /&gt;
; queue_depend&lt;br /&gt;
:Returns the FS::queue_depend objects associated with this job, if any. (Dependancies that must complete before this job can be run).&lt;br /&gt;
; depend_insert OTHER_JOBNUM&lt;br /&gt;
:Inserts a dependancy for this job - it will not be run until the other job specified completes. If there is an error, returns the error, otherwise returns false.&lt;br /&gt;
&lt;br /&gt;
:When using job dependancies, you should wrap the insertion of all relevant jobs in a database transaction.&lt;br /&gt;
; queue_depended&lt;br /&gt;
:Returns the FS::queue_depend objects that associate other jobs with this job, if any. (The jobs that are waiting for this job to complete before they can run).&lt;br /&gt;
; depended_delete&lt;br /&gt;
:Deletes the other queued jobs (FS::queue objects) that are waiting for this job, if any. If there is an error, returns the error, otherwise returns false.&lt;br /&gt;
; update_statustext VALUE&lt;br /&gt;
:Updates the statustext value of this job to supplied value, in the database. If there is an error, returns the error, otherwise returns false.&lt;br /&gt;
&lt;br /&gt;
==SUBROUTINES==&lt;br /&gt;
; joblisting HASHREF NOACTIONS&lt;br /&gt;
==BUGS==&lt;br /&gt;
$jobnums global&lt;br /&gt;
&lt;br /&gt;
==SEE ALSO==&lt;br /&gt;
[[Freeside:3:Documentation:Developer/FS/Record|FS::Record]], schema.html from the base documentation.&lt;/div&gt;</summary>
		<author><name>Ivan</name></author>	</entry>

	</feed>