[email protected] Posted May 23, 2013 Report Share Posted May 23, 2013 Hallo zusammen, ich habe nun schon einiges ausprobiert und nichts hat wirklich geklappt, deshalb hoffe ich jemand von euch kann mir weiterhelfen: Mein Ziel ist es das ich automatisch die importlisten unsere Lieferanten in Veyton 4.0.16 importieren lassen kann. Dafür habe ich bis jetzt einen cronjob über das Control Panels unseres Hosters eingerichtet, welcher ein PHP-Script called das die listen in "veyton-taugliche" CSV Dateien verwandelt. Das klappt soweit auch ganz gut. Am Ende meines Scripts war bis ahnhin (bevor ich es cronjobtauglich gemacht habe) ein curl-Aufruf des Veyton-Cronjob-Imports ala : $cron = curl_init($cronjobpath . "/cronjob.php?api=csv_import&id=xxxx"); curl_setopt($cron, CURLOPT_RETURNTRANSFER, true); curl_exec($cron); curl_close($cron); leider scheint dies per cronjob so nicht ausführbar zu sein. Deshalb dachte ich mir: ok dann richte ich es eben als direkten cronjob über wget ein: /usr/local/bin/wget MEINE_SHOP_URL/cronjob.php?api=csv_import&id=xxxx die scheint aber leider auch nicht zu funktionieren. In dem Mailbericht den ich vom CronDeamon daraufhin erhalte, scheint es als ob die id nicht mitgegeben wurde --2013-05-23 15:30:05-- http://besttrading.ch/cronjob.php?api=csv_import Resolving MEINE_SHOP_URL (MEINE_SHOP_URL)... Mache ich evtl. etwas Falsch oder ist der Import gar nicht per cron ankickbar? Weiss evtl. jemand bescheid und kann mir hier aushelfen? Edit: Anrmerkung: Wenn ich mein script über den Browser aufrufe und durchlaufen lasse, funkioniert der erste hier gepostete codeblock perfekt. Link to comment Share on other sites More sharing options...
df:bug Posted May 23, 2013 Report Share Posted May 23, 2013 Hallo, bei wget muss man auf die Sonderzeichen achten, da die Shell in diesem Fall das "&" anderes verarbeitet als gewünscht. Daher sollte die URL in Hochkommas gesetzt werden. wget "MEINE_SHOP_URL/cronjob.php?api=csv_import&id=xxxx"[/CODE] Viele Grüße, Stefan Link to comment Share on other sites More sharing options...
[email protected] Posted May 24, 2013 Author Report Share Posted May 24, 2013 hallo df:bug, vielen dank für dein Antwort. Das hat mich zumindest schonmal einen Schritt vorwärts gebracht und der import wird getriggert. Allerdings wird scheinbar nur die erste Iteration durchlaufen und somit nur gerade 100 Produkte importiert. Ist da evtl. jemandem eine Möglichkeit bekannt das alle Produkte importiert werden und nicht nur gerade 100? Link to comment Share on other sites More sharing options...
df:bug Posted May 24, 2013 Report Share Posted May 24, 2013 Hallo, was passiert, wenn der Werte von "Datensätze pro Durchgang" zum Beispiel auf 50, 25 oder 10 gesetzte wird? Ein Blick in die error.log des Webservers bringt ggf. weitere Informationen/Fehlerquellen. Der Import/Export ist Abhängig von max_execution_time, php_memory_limit, max_input_time etc. Viele Grüße, Stefan Link to comment Share on other sites More sharing options...
[email protected] Posted May 24, 2013 Author Report Share Posted May 24, 2013 datensätze pro durchgang, execution time und co haben keinen wirklichen Einfluss (wenn ich 50 für "Datensätze pro Durchgang" einstelle werden eben nur 50 Produkte importiert), zumal der Aufruf des Imports über den Browser tadellos funktioniert. Dafür habe ich aber einen workaround gefunden mit curl: In meinem Script das die Listen der Lieferanten Veyton-Tauglich macht zähle ich mit, wieviele Einträge in die CSV Datei gemacht werden. Daraus habe ich dann einfach das hier entwickelt: $intervals = ceil($prodImports / 100); $baseCronUrl = $cronjobpath . "/cronjob.php?api=csv_import&id=".$supplier."Import"; for($i = 0; $i < $intervals; $i++){ $lower = $i*100; $upper = ($i+1)*100; $cron = curl_init($baseCronUrl . "&limit_lower=".$lower."&limit_upper=".$upper); curl_setopt($cron, CURLOPT_RETURNTRANSFER, true); curl_exec($cron); curl_close($cron); } das scheint so wunderbar zu funktionieren. Evtl. Hilfts ja jemandem ;-) Edit: Anmerkung: $prodImports ist die Anzahl der Produkte, welche in die CSV Datei eingefügt wurde. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.