#2477 Transifex cron job is not working
Closed: Fixed None Opened 10 years ago by raven.

= phenomenon =
A script to refresh the module's cache is not working from cron for some reason, making translations difficult, if not impossible.

= reason =
I am quoting Domingo Becker from trans mailing list [1]:

It think the real problem is (and I may be wrong) that the cron job
for refreshing cache is overwhelmed by the number of modules,
languages and files it actually has.
If the cron job runs four times a day, with a very low priority to let
translators work in the meantime, it's probably not enough time to
complete it.
It may start over and over again, resulting in a deadlock and
consuming too much resources.
If I see a cron job that starts over and over again without
terminating the previous one, I would disable it, no matter what it
does. Perhaps that's what it's happening.
But, as I said, I may be wrong.

[1] http://lists.fedoraproject.org/pipermail/trans/2010-November/008375.html

= recommendation =


Only one running right now:
{{{
[toshio@bapp01 ~]$ ps ax |grep tx
12283 ? Ss 0:00 /bin/sh -c cd /usr/share/transifex; CVS_RSH=ssh SSH_AUTH_SOCK=/var/lib/transifex/ssh-agent-sock-transifex /usr/local/bin/lock-wrapper transifex-crawl '/usr/bin/python ./manage.py txstatsrefresh --skip-broken > /var/log/transifex/cron.log 2>&1'
12286 ? S 0:00 /bin/bash /usr/local/bin/lock-wrapper transifex-crawl /usr/bin/python ./manage.py txstatsrefresh --skip-broken > /var/log/transifex/cron.log 2>&1
12289 ? R 755:26 /usr/bin/python ./manage.py txstatsrefresh --skip-broken
23485 pts/0 S+ 0:00 grep tx
}}}

Something that I do notice is that for every language there seems to be a long pause between the vnc_Viewer_Chapter.po and Account_Configuration-x86.po chapters. This also where we switch languages. Is this a hint of a problem?

{{{
[2010-11-13 03:03:14,167 tx DEBUG] CWD: '/var/lib/transifex/scratchdir/sources/git/docs-install-guide.f14'
[2010-11-13 03:03:14,192 tx DEBUG] Status: 0. std bytes: stdin 0, stdout 40, err 0
[2010-11-13 03:03:14,265 tx DEBUG] Running low-level command '/usr/bin/env git log -1 --pretty=format:%H as-IN/vnc_V
NC_Whitepaper.po'
[2010-11-13 03:03:14,265 tx DEBUG] CWD: '/var/lib/transifex/scratchdir/sources/git/docs-install-guide.f14'
[2010-11-13 03:03:14,296 tx DEBUG] Status: 0. std bytes: stdin 0, stdout 40, err 0
[2010-11-13 03:03:14,362 tx DEBUG] Running low-level command '/usr/bin/env git log -1 --pretty=format:%H as-IN/vnc_Viewer_Chapter.po'
[2010-11-13 03:03:14,362 tx DEBUG] CWD: '/var/lib/transifex/scratchdir/sources/git/docs-install-guide.f14'
[2010-11-13 03:03:14,382 tx DEBUG] Status: 0. std bytes: stdin 0, stdout 40, err 0
[2010-11-13 03:29:05,572 tx DEBUG] Running low-level command '/usr/bin/env git log -1 --pretty=format:%H bn-IN/Account_Configuration-x86.po'
[2010-11-13 03:29:05,573 tx DEBUG] CWD: '/var/lib/transifex/scratchdir/sources/git/docs-install-guide.f14'
[2010-11-13 03:29:05,729 tx DEBUG] Status: 0. std bytes: stdin 0, stdout 40, err 0
[2010-11-13 03:29:05,801 tx DEBUG] Running low-level command '/usr/bin/env git log -1 --pretty=format:%H bn-IN/Account_Configuration_common-figure-1.po'
[2010-11-13 03:29:05,801 tx DEBUG] CWD: '/var/lib/transifex/scratchdir/sources/git/docs-install-guide.f14'
[2010-11-13 03:29:06,014 tx DEBUG] Status: 0. std bytes: stdin 0, stdout 40, err 0
[2010-11-13 03:29:06,086 tx DEBUG] Running low-level command '/usr/bin/env git log -1 --pretty=format:%H bn-IN/Account_Configuration_common-indexterm-1.po'
}}}

It seems that cron job finally kicked in yesterday after three weeks of not working. I'm not sure it won't re-appear, so I'm not closing the ticket. Also above pause between regular po files could be investigated.

The final fix is to upgrade to the most recent version of transifex which doesn't even have this job.

As stated on above link, 1.0 does not support proper intltool-based projects, making migration not an option for us until it does.

Also it requires package maintainers to manually pull translation updates from Transifex using new command line tool, and they won't do it.

Intltool is supported, as long as there is an English file. IIRC, most projects have one. Developers need to take care of their app's languages. Automations can happen with Makefiles.

This is probably not the right place to have this discussion, but running an end-of-life software on our servers isn't the best thing to do.

Replying to [comment:7 glezos]:

Intltool is supported, as long as there is an English file. IIRC, most projects have one. Developers need to take care of their app's languages. Automations can happen with Makefiles.

No, they don't, because proper intltool-based projects are not supposed to have POT file. See intltool manuals, all the GNOME projects and many of ours.

Developers don't take care of l10n and they won't. Of course there are wonderful developers like Tim Waugh or Richard Hughes, but most of them don't care. Heck, maintainers of one intltool-based project can't even keep POTFILES.in up to date, and another gettext-based project have problems with regular PO file rebuilds! Makefile is not an answer. They simply don't care and they won't care. We need to have it in mind.

This is probably not the right place to have this discussion, but running an end-of-life software on our servers isn't the best thing to do.

You are right about that. We need to think about it deeply after the update to 0.9.2.

Fedora is retiring it's translate.fedoraproject.org transifex instance
and asking projects that currently use it to migrate to fedora.transifex.net.

Please see: https://fedoraproject.org/wiki/Migration_to_transifex.net
and
https://fedoraproject.org/wiki/FAQ_on_migration_to_Transifex.net
for more information.

If your issue or problem persists after this migration, please refile
it at: http://getsatisfaction.com/indifex/products/indifex_transifex

Thanks

Login to comment on this ticket.

Metadata