HylaFAX The world's most advanced open source fax server

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [hylafax-users] Job Killed



Aidan Van Dyk wrote:

* Jonathan Smithe <gigelusster@xxxxxxxxx> [060601 14:40]:


The job(user) can specify a maxdials/maxtries, but they are "capped" by
the settings of faxq.  If you really don't want faxq to cap settings,
set them to -1 in the faxq config.  Then clients can set them to
whatever they want, and they don't get capped by faxq (well, capped by
the size of an u_int on whatever platform you're on).

See faxd/faxQueueApp.c++:2391


I've looked into FaxSend.c++:462 (in Hylafax+ v. 4.3.0.3) and noticed
the following:
-snip-
             if (fax.ntries > 2) {
                  if (fax.notice != "")
                      fax.notice.append("; ");
                  fax.notice.append(
                      "Giving up after 3 attempts to send same page");
                  traceServer("SEND: %s \"%s\", dirnum %d",
                      (const char*) fax.notice, (const char*)
freq.item, freq.dirnum);
                  fax.status = send_failed;
              }
-snip-

Shouldn't the the check be (fax.ntries >= fax.maxtries) or something
else taken from the config file?




No - this particular piece of code in faxsend is special to tring to
send the same page multiple times if it fails to go through in
*consecutive* attempts.

The maxtries applies the the total number if tries to get a fax through,
not the number of tries on a specific page  (which is hard coded at max 3).

See the code around line FaxSend.c++:363

	 else if (fax.status == send_retry) {
		if (fax.totdials == fax.maxdials) {
		    notice = fax.notice | "; too many attempts to dial";
		    sendFailed(fax, send_failed, notice);
		} else if (fax.tottries == fax.maxtries) {
		    notice = fax.notice | "; too many attempts to send";
		    sendFailed(fax, send_failed, notice);
		}
	    }


I have to admit, though, that the sendfax man page is a bit misleading with respect to "tries". I misinformed someone here on list just last week because of this very same matter... and that, without looking at the code, the sendfax man page seems to indicate that this "tries" is configurable.


-t tries Make no more than tries attempts to send the facsimile. By default, HylaFAX will terminate a job if 3 consecutive attempts to send a particular page fail, or it appears the receiver is not a facsimile machine. Otherwise HylaFAX places no limit on the number of attempts to send a facsimile, instead terminating a job if it is not completed within a kill time timeout interval. Note that a try is a call in which carrier is established and the facsimile protocol is commenced; this is contrasted with a call attempt that might have failed because the line was busy. Use ‘‘-1’’ to indicate that no tries value should be specified to the server.

The particular wording that makes this misleading is that "by default" preface and the subsequent attention to "consecutive attempts to send a particular page". I think that this is more clear:

-t tries Make no more than tries attempts to send the facsimile. (A try is a call in which carrier is established and the facsimile protocol is commenced; this is contrasted with a call attempt that might have failed because the line was busy.) Without specifying a "tries" value to the server HylaFAX will, with some exceptions, make an unlimited number of attempts to completely send the facsimile before the kill time expires. (The exceptions are that HylaFAX will terminate a job if 3 consecutive attempts to send a particular page fail, or if it appears the receiver is not a facsimile machine.) Use ‘‘-1’’ to indicate that no tries value should be specified to the server.

Lee.


____________________ HylaFAX(tm) Users Mailing List _______________________ To subscribe/unsubscribe, click http://lists.hylafax.org/cgi-bin/lsg2.cgi On UNIX: mail -s unsubscribe hylafax-users-request@xxxxxxxxxxx < /dev/null *To learn about commercial HylaFAX(tm) support, mail sales@xxxxxxxxx*




Project hosted by iFAX Solutions