Running one rake task several times at the same time with different arguments
- Posted by sd at 12:43:51 // Read 1261 times //
- Programming
I am havin a rake tast that just collects data from several servers and writes them in a different form ton another server.
If I run only one task it runs more then 30 hours.
That is to long ;-)
So I decided to run this task with different arguments several times at the same time.
In theory there is a very handy way to do that.
multitask :start => [ ':task1', ':task2' ]
If your run rake start both tasks will run at the same time. The only disadvantage ist, that you can not pass arguments to each task. So this would not work, even if you can run “rake task1[arg1]
multitask :start => [ ':task1[arg1]', ':task2[arg2]' ]
In theorie you can pass a hashmap with parameters for each task, but how to make a hashmap with non unique keys?
It does not work!
After a while of try and error I found a solution that works.
task :all do
(0..9).each do |argument|
Process.fork {
Rake::Task['import:importall'].invoke(argument)
}
end
Process.waitall
end
The only disadvantage of fork is, that you load the environment several times. But if you don’t have that memory left, you probably should not run parallel tasks ;-)
Back to topVertragsrecht einmal anders: 1und1
- Posted by sd at 16:57:27 // Read 1269 times //
- Communication
Begegnungen der dritten Art mit 1und1 hatte ich ja schon öfter, was mir aber jetzt passiert ist übertrifft alles was ich bisher erlebt habe.
Ich habe bei 1und1 zwei Verträge.
Ein paar Domains in einem Paket und einen Mobilfunkvertrag in einem anderen.
Beides läuft unter einer Kundennummer, was natürlich Sinn macht.
Der Mobilfunkvertrag sollte jetzt von einem anderen Vertragspartner übernommen werden, was mir auch bei einem ersten Anruf bei der Hotline zugesichert wurde.
Nach ein paar Wochen gilt diese Aussage scheinbar nicht mehr.
Nachdem ich per Mail die Aussage erhalten habe, dass men keine Verträge sondern nur ganze Kundennummern umschreiben kann rief ich wieder bei der Hotline an.
Die freundliche (nicht sarkastisch gemeint) Dame am Telefon versuchte mir mit allen Mitteln logisch zu erklären, dass man natürlich keinen Vertrag von einer Kundennummer trennen könne sondern nur Kundennummern umschreiben kann.
Welche Firma schreibt Kundennummern um? So einen Blödsinn habe ich wirklich noch nie gehört.
Hat schon mal jemand bei einem Händler einen Fernesher und eine Festplatte gekauft und musst dann den Fernseher zurück schicken, weil er die Platte zurück schicken wollte.
Warum wollen manche Firmen einfach eine gerichtliche Auseinandersetzung?
Ich verstehe es nicht!
Back to topErst mal den Innenraum ausmisten
- Posted by sd at 22:24:32 // Read 1414 times //
- Auto
Bevor ich den Bus im Januar abmelde, um ihn in Kur zu schicken steht noch der erste Termin beim Gutachter an. Auch wenn es überall gute Ratschläge und Richtlinien für das Oldtimer-Gutachten gibt, entscheidet jeder Gutachter anders. Vorher einmal nachfragen kann also nicht schaden.
Um den ersten Eindruck nicht gleich zu versauen, geht es dieses Jahr noch dem versauten Innenraum an den Kragen.
Die verwohnten Sitze hatte ich ja schon mal erwähnt.
Auch mit viel Kunstleder, Klebstoff, Nadel und Faden lässt sich aus diesen Sitzmöbeln nichts Vernünftiges machen. Die Bänke fliegen also erst mal raus.
Die Sitzbänke sind aber nur das kleinste Problem.
![]()
Leider wurden rundum Gitter vor den Scheiben und Richtung Führerhaus eingeschweisst.
Die Schweissarbeiten wurden ziemlich fragwürdig ausgeführt und durch ein paar Blechschrauben hätte man die gleiche Stabilität erreichen können.
Das wäre aber zu einfach gewesen, weil man keine Flex zum Ausbauen gebraucht hätte und man hätte die Löcher mit Nieten verschliessen können und sich die Lackierung sparen können.
Warum einfach, wenn es auch kompliziert geht.
Zwei Trennscheiben und ein paar Splitter im Auge Später, sieht der Innenraum etwas weniger beängstigend aus.
Morgen kommen die neuen Bänke rein. Dann gibt es wieder neue Bilder. Die gesammelten Bilder gibt es immer hier.
Back to topBilder zum Projekt “1. Oldtimer”
- Posted by sd at 16:35:02 // Read 1494 times //
- Auto
Hier gibt es immer die komplette Bilderserie zum Projekt.
Back to topDas Projekt 1. Oldtimer geht los
- Posted by sd at 16:17:42 // Read 1363 times //
- Auto
Es ist Weihnachten und als Geschenk für mich gab es einen neuen Bus, der alt genug für ein H-Kennzeichen ist.
Die technischen Daten:
- Baujahr: 1979
- Laufleistung: 75000 laut Tacho
- Motor: 2,0l Luftboxer (CU Motor)
- Leistung: 70PS
- TÜV: Gerade neu ;-)
Obwohl der arme Bus ein hartes Behörden-Dasein hinter sich hat (Erst Polizei und dann Feuerwehr) ist die Karosserie fast ohne Beulen und bis jetzt ungeschweisst.
Sogar der Kantenrost lässt sich bis jetzt noch garnicht (!) blicken.
Karosseriearbeiten beschränken sich auf den ersten Blick auf Stossstangen und die hinteren Radläufe.
Der Innenraum ist dafür um so mehr mitgenommen. Um den Missstand zu beseitigen, habe ich gerade bei E-Bay zwei fast neue Kunstleder Sitzbänke für einen ganzen Euro ersteigert.
Jetzt muss der Bus erst mal den Weg vom Bodensee nach Haus schaffen. Dann gibt es eine Bestandsaufnahme.
Bald gibt es mehr über das Projekt zu lesen.
Back to topZu wenig Speicher für Apps auf dem Androiden?
- Posted by sd at 18:19:29 // Read 2160 times //
- Communication
Es gibt für mich zur Zeit keine Alternative zu Android auf dem Smartphone. Das ist sicher.
So begeistert ich von dem System bin, so sehr entwickeln manche Hersteller an der Realität vorbei.
Wie kann man für Applikationen nur 150 MB Speicher bereit stellen? So teuer sind Speicherchips wirklich nicht und ein paar Euro mehr würde bestimmt jeder Kunde bezahlen. Leider machen sich scheinbar viele Entwickler auch keine Gedanken über Speicherverbrauch und lassen es nicht zu die eigene Applikation auf die SD Karte zu verschieben.
Verstehen kann ich alle Beide nicht.
Natürlich kann man sein Telefon “rooten” oder mit einer Custom-Firmware versehen um solche Probleme zu beseitigen.
Abgesehen von den eventuellen Garantie-Problemen habe ich persönlich keine Luste mehr auf die ständige Bastelei. Ein OTA Update ist da schon das höchste der Gefühle.
Es geht aber auch ohne “rooten” oder flashen …
[Read More…]
Viewsonic V350 Gingerbread update
- Posted by sd at 21:02:38 // Read 2005 times //
- Communication
Heute Abend war es endlich so weit: Mein V350 hat das von allen lange erwartete Update auf Android 2.3 gefunden.
Erst mal schnell ein Backup machen, was nicht sonderlich viel Zeit in Anspruch nimmt.
Der Updatemanager verrät mir dass ich knapp 600MB herunter laden muss.
Bitte? 600MB?
Finde ich recht viel für ein Update, sollte aber mit 32Mbit nicht all zu lange dauern.
Die Ernüchterung kam bald.
Nach zwei Stunden waren 25% da.
Mal sehen wie lange es noch dauert und was das Update so bringt.
Stay tuned.
Back to topRender custom fields with to_xml in Rails
- Posted by sd at 09:07:57 // Read 1512 times //
- Programming
I am writing a video upload platform, that needs to have a clean xml API.
The fields already present in the model are rendered o.k. using the standard views, but there are two virtual attributes in the model, that should show up in xml as well.
If you are asking google, most answers say: overwrite to_xml in your model. That does the job.
O.K. let’s try it.
My virtual attribute is :file_path
def file_path
"http://domain.tld/#{file_name}"
end
def to_xml
super :methods => :file_path
end
Calling a single record shows the custom field.
Calling a collection of records shows only an exception.
Asking google again.
O.K. there is a problem with serialization.
After some hours of trial and error, I gave up. Overwriting to_xml is not the right way.
The solution was so simple!
Just take the controller and add your additional methods.
format.xml { render xml: @movies, :methods => [:file_path] }
Live can be so easy, sometimes.
Back to topActiveLdap vs. SimpleForm
- Posted by sd at 13:31:37 // Read 1092 times //
- Programming
I am working on a rails application to manage my LDAP server.
ActiveLdap does a great job.
The only problem is, that you can have multiple attributes with the same name.
Groups have several attributes
memberUid.
ActiveLdap passes all members as an array.
Group.first.memberUid => ["user1", "user2"]
If I just use an
f.input :memberUidI can modify the array and I only have to do a
eval(self.memberUid)in the model.
But that just makes an ugly GUI ;-)
I am looking for a way to split that array in single input fields and add a blank input field as well.
Unfortunately I did not find a way to do that with SimpleForm.
Every hint is welcome!
Back to topWie sieht Tatooine heute aus?
- Posted by sd at 15:59:07 // Read 1476 times //
- Bilder
Als alter Star Wars Fan war ich vor ein paar Jahren natürlich auch in Tatooine.
Es ist wirklich faszinierend mit was für einfachen Mitteln George Lukas damals eine perfekte Illusion geschaffen hat. Es ist mir immer noch ein Rätsel, wie man an einem so heissen und trockenen Ort überhaupt einen Film drehen kann.
Der Zahn der Zeit hat leider schon seine Spuren hinterlassen. Ich bin gespannt wie lange die Wüste noch braucht um sich den Platz wieder zurück zu erobern.
Back to top