Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: Maasive Vergütungsausfälle durch fehlerhafte cron ?!?

  1. #1

    Maasive Vergütungsausfälle durch fehlerhafte cron ?!?

    Hallo ihr lieben,

    wie ihr sicher schon in dem anderen Tread von mir bemerkt habt, versuche ich mich intensiv mit meinem VMS auseinander zu setzen und möchte mal auf folgendes aufmerksam machen:

    (korrigiert mich, wenn ich falsch liege, wenn ich nicht falsch liege bitte euere Meinung)

    wenn ich einen cron zum Einlesen der Bannerkampagnen ausführe passiert folgendes:

    alle Kampagnen des Sponsors werden auf Status=0 gesetzt,
    Interfaceabfrage startet und Kampagnen werden eingelesen,
    es wird überprüft, welche Kampagne noch aktuell ist und den Kriterien (min.Menge etc.) entspricht,
    noch gültige Kampagnen werden wieder aktiviert (status=1)

    und nun wird es heikel...der Rest wird einfach so (ohne Überprüfung) gelöscht.

    was passiert aber...

    wenn sich das Interface mal verschluckt(bemerke ich öfter bei verschiedenen Sponsoren) bzw. die Abfrage mangels aufgebrauchter Interfaceabfragen keinen Returncode bekommt?

    Richtig! Alle Kampagnen des betreffenden Sponsors werden gelöscht und somit sind auch die vorhandenen Reloadeinträge hinfällig. Wenn der Cron dann 1 o. 2 Stunden später erneut aufgerufen wird, werden die Kampagnen alle neu eingelesen und bekommen eine neue Tan, da sie ja jetzt nicht mehr zum update vorhanden sind und somit werden alle Kampagnen, die sich noch im Reload befänden zu Minusbannern für den Webmaster, da der Sponser die Kampagnen aufgrund der Reloads natürlich nicht vergütet. Wäre es nicht also angebracht, im cron eine Abfrage einzusetzten (eine simpler Zähler z.B. und die abfrage des Kampagnenlöschens in eine if-Anweisung zu setzen zb: if ($count>1.....dann löschen


    Gruß

    Christian
    www.mac-lose.de

  2. #2
    Erfahrener Benutzer
    Registriert seit
    20.06.2007
    Beiträge
    1.905

    RE: Maasive Vergütungsausfälle durch fehlerhafte cron ?!?

    ich würde auch sagen das es auch bei meinchen sponsoren auf meiner seite ebenso ist aber es werde trozdem beim 2ten ma neueingebucgt wenn alle gelöscht wurden sind was mich tirisch nervt aber naja aber wenn ich mir das vms2 holle gibt es nicht so große probleme mti den crons ect. naja aber bis dahin muss ich mich leidr mit meinen vms1 hin und her schlagen

  3. #3
    Erfahrener Benutzer
    Registriert seit
    11.07.2006
    Beiträge
    126

    RE: Maasive Vergütungsausfälle durch fehlerhafte cron ?!?

    Kann ich nicht so bestätigen das sich die Crons aufhängen, ich hab aber auch nun nicht jeden x-beliebigen "15 Lose für den Banner" Sponsor drin.

    @adi
    woher weißt Du, das es nicht so große Probleme mit dem Equinox gibt?
    und wenn nicht damit, hat es andere Macken, so wie jedes Script.
    Das hört sich irgendwie so an: Ich brauchte unbedingt eine Loseseite, da ich mir aber das Equinox nicht leisten konnte hab ich erstmal das scheiß VMS1 genommen.

    Gruß Dany

  4. #4
    Erfahrener Benutzer
    Registriert seit
    16.06.2009
    Beiträge
    2.346

    RE: Maasive Vergütungsausfälle durch fehlerhafte cron ?!?

    ist mir auch bei 1 sponsoren (lose4allweb) extrem aufgefallen das wenn der sponsor nicht erreichbar war alle kampangen gelöschtworden sind, bei nächsten durchgang neu eingelesen worden sind und reload nicht mehr stimmte.

    hatte damals mal überlegt in den vms_reloads die bid mit rein zunehmen da die sich bei den kampangen ja nicht ändert, aber wegen script wechsel ich der sache nicht mehr nachgegangen bin



    DimpleX

  5. #5
    Erfahrener Benutzer
    Registriert seit
    20.06.2007
    Beiträge
    1.905

    RE: Maasive Vergütungsausfälle durch fehlerhafte cron ?!?

    Original von Dany
    Kann ich nicht so bestätigen das sich die Crons aufhängen, ich hab aber auch nun nicht jeden x-beliebigen "15 Lose für den Banner" Sponsor drin.

    @adi
    woher weißt Du, das es nicht so große Probleme mit dem Equinox gibt?
    und wenn nicht damit, hat es andere Macken, so wie jedes Script.
    Das hört sich irgendwie so an: Ich brauchte unbedingt eine Loseseite, da ich mir aber das Equinox nicht leisten konnte hab ich erstmal das scheiß VMS1 genommen.

    Gruß Dany
    ne ich bin stolz eine vms1 seite zur haben und lose habe ich genung nur das problem ist ich bin 14 dh kriege ich es nicht und ich möchte erst auf vms1 alles lernen und dann holle ich mir vms2 nicht das ich dann scheiße mit dem vms2 mache

    MFG
    adi

  6. #6
    Erfahrener Benutzer Avatar von dude32
    Registriert seit
    27.07.2006
    Beiträge
    1.771
    hab da was gefunden:

    Beschreibung für den Umbau des Reloadsystems
    --=--=--=--=--=--=--=--=--=--=--=--=--=--=--
    Die nachfolgende Beschreibung erklärt euch den Ablauf, wie ihr den Vergütungsausfall fast auf 0% drücken könnt, wenn ein Sponsornetzwerk mal nicht da ist und die Kampagnen gelöscht werden und dann wieder auftauchen.

    Die dazu notwendigen Umbauarbeiten der Dateien finden in ALLEN Sponsorencrons statt an den Tabellen in welche ihr die Tan sonst einträgt und auch alle Dateien die aus der Relaodtabelle, ganz gleich aus welcher Reloadtabelle, auslesen.

    Kommen wir nun zur Datenbankstrukturänderung:
    Hinweis: Bevor ihr diese Änderungen macht, würde ich aus Sicherheitsgründen ein Backup empfehlen. Man kann ja nie wissen.

    1. setzt ihr die Spalte KID in der `vms_gebuchte_werbung` o.ä. die kampagnen aus sponsorencrons beziehen auf Varchar(20)

    2. Alle die Tabellen, die sich die KID aus der `vms_gebuchte_werbung`
    genauso alle anderen Tabellen die von dieser Tabelle die KID beziehen setzt ihr bitte die KID auf Varchar(20)
    3. In der vms_reloads o.ä. fügt ihr eine Spalte mit dem namen KID und des Typs Varchar(20) hinzu.

    Nun dürfte die Datenbankstrukturänderung beendet worden sein.


    Es geht nun zu den SponsorenCrons.
    Hinweis: Ich habe mir einen Cron geschrieben, der mir jeden Sponsor einzeln Updatet auf die neue KID, da sich die Kampagnen dann doppelt reinschreiben würden, da die KID ja dann anders ist. Zu der näheren Erläuterung komme ich später.

    Vorher noch einen Standart den ihr beachten solltet. Da die KID mit 11 Stellen auf Zahlenbasis deklariert worden ist. und diese jetzt 20 Zeichen hat mußte ich einen kleinen Standart einfallen lassen. Dieser wäre wie folgt: 5 Zeichen für den Sponsor und die letzten 2 Zeichen für die Werbeart. Somit hätte ich theoretisch 13 Zeichen für die eigentliche Kampagnenid des Sponsors. Dieses würde bedeuten das der Sponsor eine Maximale KID von 9.999.999.999.999 haben kann. Und das pro Werbeart!
    Nun zum Beispiel einer neuen KID. Als Beispiel nehmen wir Lose4Admin, Webmasterlose, HP-Lose, Fuco-Ads und Nickeysponsor.

    Sponsorenkürzel:
    Webmasterlose = wml
    Hp-Lose = hp-lo
    Lose4Admin = l4adm
    Fuco-Ads = fu-ad
    Nickeysponsor = nispo

    Die Werbearten sind wie folgt unterteilt:
    ForcedBanner = fb
    HighForcedBanner = hf
    Premiumbanner = pb
    Klick4Win = kw
    Paidlinks = pl
    Text Paidmail = pm
    HTML Paidmail = hm
    Traffic = tr
    Surfviews = sw


    Als Beispiel gehen wir dann von folgenden Szenario aus: WML bucht KID 13 von Forcedbanner ein und HP die KID 13 bei den Paidlinks und FuCo-Ads die KID 13 ebenfalls bei den Forcedbannern.
    Wir haben dann folgende Konstelationen:
    wml13fb
    hp-lo13pl
    fu-ad13fb

    da die KID beim Sponsor, egal ob er nicht erreichbar ist oder nicht sich theoretisch nicht ändert haben wir somit einen Schlüssel, der eindeutiger ist als die TAN die nur temporär erstellt wird.


    Nun zu den Eigentlichen Umbauarbeiten:
    Ihr öffnet die Crondatei und sucht folgendes (meistens die $int_kid)
    direkt unter der $int_kid schreibt ihr folgendes:
    $int_kid = "SPONSORKÜRZEL".$int_kid."WERBEARTKÜRZEL";

    Achtet nun daruaf das bei den eintragungen in der Datenbank überall wo die $int_kid steht es wie folgt steht: '".$int_kid."', da er diese dann sonst nicht eintragen würde.

    Dann speichert ihr den Cron. Vorher müßt ihr für diesen SPonsor, den ihr gerade bearbeitet habt einen Cron schreiben, der wie folgt funkrionieren sollte:


    --> AUSZUG ANFANG
    //Variablen Deklarieren
    $sponsor = "SPONSORNAME";
    $kurz = "SPONSORKÜRZEL";

    //Durchlauf für Forcedbanner
    $sponsor = db_query("SELECT `kid` FROM `".$db_prefix."_gebuchte_werbung` WHERE `sponsor` = '".$sponsor."' AND `werbeart` = 'forcedbanner'"):
    while($sp = mysql_fetch_array($sponsor)){
    $kid_neu = $kurz.$sp['kid']."fb";
    //In die Datenbank eintragen
    db_query("UPDATE `".$db_prefix."_gebuchte_werbung` WHERE `kid` = '".$kid_neu."' AND `sponsor` = '".$sponsor."' AND `werbeart` = 'forcedbanner'");
    }

    //Durchlauf für Forcedbanner
    $sponsor = db_query("SELECT `kid` FROM `".$db_prefix."_gebuchte_werbung` WHERE `sponsor` = '".$sponsor."' AND `werbeart` = 'paidlinks'"):
    while($sp = mysql_fetch_array($sponsor)){
    $kid_neu = $kurz.$sp['kid']."fb";
    //In die Datenbank eintragen
    db_query("UPDATE `".$db_prefix."_gebuchte_werbung` WHERE `kid` = '".$kid_neu."' AND `sponsor` = '".$sponsor."' AND `werbeart` = 'paidlinks'");
    }

    //Durchlauf für Paidmails
    $sponsor = db_query("SELECT `kid` FROM `".$db_prefix."_gebuchte_werbung` WHERE `sponsor` = '".$sponsor."' AND `werbeart` = 'paidmails'"):
    while($sp = mysql_fetch_array($sponsor)){
    $kid_neu = $kurz.$sp['kid']."fb";
    //In die Datenbank eintragen
    db_query("UPDATE `".$db_prefix."_gebuchte_werbung` WHERE `kid` = '".$kid_neu."' AND `sponsor` = '".$sponsor."' AND `werbeart` = 'paidmails'");
    }

    AUSZUG ENDE -->

    Somit verhindert ihr, wenn ihr Sponsor für Sponsor durchgeht, das ihr Kampagnen doppelt einbucht, da diese dann in dem Sponsorencron mit der neuen KID eingebucht werden. Somit könnt ihr das System auch Stück für Stück umbauen, ohne das der User oder ihr Verlust macht, da ihr die Crons nicht deaktivieren müsst. Wenn ihr den UpdateCron dann durchgelaufen habt, guckt bitte in der Tabelle `vms_gebuchte_werbung` nach, ob die KID auch so umgetragen worden ist. Beachtet bitte auch, das der Cron und der UpdateCron so nachfolgend wie nur möglich hochgeladen wird und der UpdateCron auch so schnell wie Möglich dann ausgeführt wird.


    Nachdem ihr also schon die Datenbank und die Crons alle geändert habt, müßt ihr nun folgendes machen. Überall dort wo Dateien die `vms_reload` o.ä. mit Daten befüllen müßt ihr folgendes suchen:
    INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis...
    Am besten hinter der Spalte `uid` fügt ihr dann ,kid ein und bei den Spalten dort wo $VARIABLENNAME['tan'] steht dann $VARIABLENNAME['kid'] ein. Somit werden dann die `vms_reloads` o.ä. Tabellen mit den neuen Daten bestückt. Die Dateien in der die `vms_reloads` auftaucht sind:
    topframe_forced,topframe_hf,topframe_text,betteln, startseitenaufruf und unter umständen pcheck, topframe_premium und topframe_betau.

    Nachdem ihr also eurer ganzes Projekt schon vorbereitet habt, könnt ihr, jenachdem wie ihr das betteln eingestellt habt und/oder den Startseitenaufruf dann folgendes machen.

    Überall dort wo dann steht: (erst nur betteln und startseitenaufruf
    SELECT ... FROM `vms_reloads` WHERE tan='".$VARIABLENNAME[TAN]."' macht ihr dann daraus:
    SELECT ... FROM `vms_reloads` WHERE kid='".$VARIABLENNAME[KID]."'
    Auch die nachfolgenden Variablen müßt ihr beachten, da eventuell dann noch tan steht.

    Wenn ihr das betteln und den Startseitenaufruf schon umgestellt habt, könnt ihr die betteln und den startseitenaufruf aufrufern, wo in die `vms_reloads` geschrieben wird und die INSERT INTO anweisung so kürzen, das er die TAN nicht mehr mit einträgt.

    Nun könnt ihr euch an euer WMS oder auch an den Adminbuchungen ranwagen. Dort müßt ihr dann beim eintragen in die `vms_gebuchte_werbung` o.ä. dann beachten das er eine KampagnenID ebenfalls mit einträgt. Am besten per Zufall mit 6 stellen berechnen lassen und vorher dann admin und hinten die werbeart mit angeben. Somit bucht ihr auch Standartkonforme Kampagnen ein und ihr vergewisdsert euch, dass ihr auch adminbuchungen dann im reload habt.

    Nachdem die alle Zeilen mit der KID gefüllt sind (nachzuprüfen mit dem Befehl: SELECT COUNT(*) FROM `vms_reloads` WHERE `kid`="" in der Datenbank selber) könnt ihr also die Klick4, Paidlinks, Mailhistory halt alle Verdienen bereiche auch darauf umbauen so wie beim betteln.

    Im Enddeefekt habt ihr dadurch 2 Vorteile gewonnen. Zum einen ist die neue KID die dann in der `vms_reloads` o.ä. Tabellen drinsteht eindeutiger als die TAN und auch kürzer, somit wird auch der speicherumfang geringer und die Abfrage aus dieser geht ein tick schneller. Und wenn euer Sponsor abbraucht, braucht ihr euch keine Gedanken machen, das ihr wieder kampagnen einbucht, die noch im reload bei euch sind.

    Ich hoffe die Erklärung war so ok, da es ja zig arten vn addons gibt, die die vms_gebuchte_webrung und die vms_reloads nachbilden habe ich versucht diese so allgemein wie möglich zu gestalten.

    Liebe Grüße,
    Stigma_Bln
    www.scripte-box.de VMS,VMS2 und FWX

  7. #7
    Hi ihr lieben,

    @dude

    habe ich auch gefunden (allerdings erst, nachdem ich schon gepostet hatte--schäm--)
    aber ich finde es ziemlich aufwändig und frage mich ob es nötig ist, so tief in den Eingeweiden des vms rum zu fummeln. Ich persönlich würde es wohl hinbekommen, aber viele Webbis stehen da glaube ich echt auf dem Schlauch. M.E. nach reicht es völlig aus, wenn man einfach nur verhindert das die Kampagnen gelöscht werden, wenn kein oder ein fehlerhafter RT-Code kommt.

    @ der rest

    Läuft das vms2 (kenne ich nur vom Namen her) nicht mit crons um die Kampagnen einzulesen?

    Da es sich hier um ein Problem der Erreichbarkeit des Interfaces der Sponsoren handelt (was für ein Satz) wäre vms2 genauso betroffen, wenn es auch crons benutzt, oder?

  8. #8
    Benutzer
    Registriert seit
    24.02.2007
    Beiträge
    89
    könnte man nicht einfach die tan so ummodeln, wie oben beschrieben? (zB : hp12345fb , hp-lo ist der sponsor, 12345 ist die KID und fb ist dann Forced-Banner ) dann würde die tan immer wieder die gleiche werden auch bei erneutem einlesen und man brächte nicht so viel umschreiben?
    Was ist denn eigentlich der Sinn der Tan? Es macht eine einmalige Zuordnung der zB Banner möglich, oder? Das wäre ja bei obiger Methode auch eine einmalige Kombination!?


  9. #9
    Benutzer
    Registriert seit
    22.07.2007
    Beiträge
    84
    un die tan soll aber auch wohl erschweren, dass man die banner einfach so aufrufen kann per script oder?

  10. #10
    Benutzer
    Registriert seit
    24.02.2007
    Beiträge
    89
    ok, dann wäre zumindest system in den tans zu erkennen. aber es macht sich doch nicht echt jemand die mühe alle nummern durchzuprobieren, oder? Nagut, mit Klickprogrammen oder so weiß man nicht was alles möglich ist, geb ich zu...


Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. fehlerhafte kodierung der inhalte USA Slots
    Von Gabriel im Forum Support zu Addons & Erweiterungen
    Antworten: 3
    Letzter Beitrag: 07.11.2011, 15:34
  2. Topnavigation fehlerhafte Farbe
    Von FloMK im Forum [HD] Grafik, Server & Sonstiges
    Antworten: 2
    Letzter Beitrag: 26.12.2009, 10:53
  3. Multi-Cron öffnet nur den ersten Cron.
    Von blacky123 im Forum [HD] Programmieren
    Antworten: 12
    Letzter Beitrag: 23.11.2009, 18:58
  4. Antworten: 0
    Letzter Beitrag: 07.10.2008, 14:40
  5. Ich starte mal durch !!!!!!!!!
    Von halk im Forum VMS Webseiten
    Antworten: 0
    Letzter Beitrag: 24.02.2007, 23:26

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •